RE: O_SYNC option doesn't work (2.4.18-3)

Trond Myklebust (trond.myklebust@fys.uio.no)
Wed, 7 Aug 2002 20:13:01 +0200


>>>>> " " == Gregory Giguashvili <Gregoryg@ParadigmGeo.com> writes:

> Well, this is the way it's been working on all UN*X platforms I
> know. In fact, we came across this problem with NFS clients
> being unable to synchronize on Linux.

Sorry. AFAICS O_SYNC only affects writes (just like we do).

As for reads: all commercial NFS clients I know of will check data
cache consistency on open(). They will assume that they can cache
attributes and data as per the documentation in 'man 5 nfs' (although
you can turn this off by using the 'noac' mount option).

Furthermore, even with 'noac' they *all* have problems with races in
the sort of scenario you describe because there is no atomic
GETATTR+READ operation.

Bottom line: If you want the sort of data cache consistency you are
describing, you *have* to use file locking.

Cheers,
Trond
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/