Re: 2.3 SMP overlapping writes and NFS

Jamie Lokier (lkd@tantalophile.demon.co.uk)
Thu, 5 Aug 1999 16:36:11 +0200


Alexander Viro wrote:
> > NFSv2's requirements are stricter -- so I guess knfsd has to handle this
> > by locking the inode during an NFSv2 write. Is this done and does
> > anyone care?
>
> It isn't done and any locking works only if everybody use it.
> Probably using rwlock-style semantics (modulo sleeping, indeed - you don't
> want spinlocks here) would be the right thing. Then we have write() as
> reader, knfsd write() as writer and quite probably truncate() as writer
> too.

(a) the NFSv2 spec only talks about other clients -- it doesn't say
anything about concurrent writes that _aren't_ from NFSv2 clients.
So maybe ordinary write() calls don't need to lock anything at all.

(b) NFSv3 doesn't have this as a requirement AFAICT. So I should think
there are no NFS apps depending on this behaviour.

(c) If atomic writes can be done by knfsd, I think there should be a
mechanism to do them from user space too -- not every file server lives
in the kernel, not even every NFS server.

-- Jamie

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