On Wed, Dec 2, 2015 at 8:38 PM, Phil Turmel [off-list ref] wrote:
On 12/02/2015 09:33 PM, Dallas Clement wrote:
quoted
I'm not sure that the sync=1 has any effect in this case where I've
got direct=1 set (for non buffered I/O). I think the sync=1 flag only
matters for buffered I/O. I really shouldn't be setting that flag at
all.
It's substantially different from direct=1. O_DIRECT just bypasses the
kernel's caches. O_SYNC flushes the file data and filesystem metadata,
and kills the device caches and queues.
Isn't O_SYNC only applicable for buffered I/O or going through the
kernel caches? If I'm using O_DIRECT, seems like it should just
ignore this flag.