[openstack-dev] [cinder] should we use fsync when writing iscsi config file?

Joshua Harlow harlowja at outlook.com
Fri Oct 2 07:12:32 UTC 2015


A library that seems to have a pretty nice abstraction for this kind of
thing/pattern, could be an idea to use it, or have something similar
like it...

https://boltons.readthedocs.org/en/latest/fileutils.html#atomic-file-saving

-Josh

On Sat, 26 Sep 2015 10:48:39 +0200
Julien Danjou <julien at danjou.info> wrote:

> On Tue, Sep 22 2015, Chris Friesen wrote:
> 
> > On 09/22/2015 05:48 PM, Joshua Harlow wrote:
> >> A present:
> >>
> >>  >>> import contextlib
> >>  >>> import os
> >>  >>>
> >>  >>> @contextlib.contextmanager
> >> ... def synced_file(path, mode='wb'):
> >> ...   with open(path, mode) as fh:
> >> ...      yield fh
> >> ...      os.fdatasync(fh.fileno())
> >> ...
> >>  >>> with synced_file("/tmp/b.txt") as fh:
> >> ...    fh.write("b")
> >
> > Isn't that missing an "fh.flush()" somewhere before the fdatasync()?
> 
> Unless proven otherwise, close() does a flush().
> 




More information about the OpenStack-dev mailing list