On 07.02.2014 14:36, Orit Wasserman wrote:
Do you know if is applies to linux O_DIRECT writes as well?
From the man of open:
The behaviour of O_DIRECT with NFS will differ from local
filesystems. Older kernels, or kernels configured in certain ways,
may not support this combination. The NFS protocol does not
support
passing the flag to the server, so O_DIRECT I/O will bypass the
page
cache only on the client; the server may still cache the I/O. The
client asks the server to make the I/O synchronous to preserve the
synchronous semantics of O_DIRECT. Some servers will perform
poorly
under these circumstances, especially if the I/O size is small.
Some
servers may also be configured to lie to clients about the I/O
having
reached stable storage; this will avoid the performance penalty at
some risk to data integrity in the event of server power failure.
The Linux NFS client places no alignment restrictions on O_DIRECT
I/O.
To summaries it depends on your kernel (NFS client).
So, assuming new kernel (where nfs O_DIRECT translates to no cache at
client side) and cache coherent server, is it enough or is 'sync' mount
(or O_SYNC flag) still required for some reason?
--
mg