[openstack-dev] [cinder] should we use fsync when writing iscsi config file?
Chris Friesen
chris.friesen at windriver.com
Mon Sep 28 04:19:52 UTC 2015
On 09/26/2015 02:48 AM, Julien Danjou 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().
There's no close() before the fdatasync() in the above code. (And it wouldn't
make sense anyway because you need the open fd to do the fdatasync().)
Chris
More information about the OpenStack-dev
mailing list