Re: file locking over NFS in 2.2.7

Trond Myklebust (trond.myklebust@fys.uio.no)
09 May 1999 22:11:03 +0200


Pavel Khaustov <khaustov@andrew.cmu.edu> writes:

> elm and mutt fail when they use fcntl() to lock the mail spool file which
> is mounted over NFS in our case (/var/spool/mail served by SunOS 4.1.3 and
> mounted by Linux clients). strace shows that after fcntl() the variable
> errno is set to "No locks available". It worked when 2.0.36 kernel was
> used. It also works from SunOS clients.
>
> On Linux side: kernel 2.2.7, latest userland nfsd, lockd is compiled into
> the kernel. A test program showed that Linux-Linux locking didn't work
> either.
>
> Can someone explain it or point to relevant information sources?
>

File locking is not supported by the userland nfsd. If you want true
file locking, use knfsd. 2.0.x kernels supported local file locks
only: this is why they 'worked' (not at all), and 2.2.x will do the
same if you use the 'nolock' mount option.

In other words: Always compile mutt/elm/pine etc to use dotlocking or
some such workaround when you think you might want to use the userland
nfsd or a 2.0.x kernel, since posix file locking will never be
reliable in that case. (BSD file locking is not supported for 2.2.x
either.)

Cheers,
Trond

-
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/