Messages in this thread | | | Date | Fri, 28 Aug 2009 17:46:58 +0100 | From | Jamie Lokier <> | Subject | Re: adding proper O_SYNC/O_DSYNC, was Re: O_DIRECT and barriers |
| |
Ulrich Drepper wrote: > > - O_RSYNC basically means we need to commit atime updates before a > > read returns, right? > > No, that's not it. > > O_RSYNC on its own just means the data is successfully transferred to > the calling process (always the case). > > O_RSYNC|O_DSYNC means that if a read request hits data that is currently > in a cache and not yet on the medium, then the write to medium is > successful before the read succeeds. > > O_RSYNC|O_SYNC means the same plus the integrity of file meta > information (access time etc).
On several unixes, O_RSYNC means it will send the read to the hardware, not relying on the cache. This can be used to verify the data which was written earlier, whether by O_DSYNC or fdatasync.
-- Jamie
| |