[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

NFS Locking problem in 2.1/2.1 kernels



The following message is a courtesy copy of an article
that has been posted as well.


I have two Debian Linux computers, a Corel Netwinder and a AMD
K6-based PC.

My Netwinder ('net.slett.net') is, among other things, my NIS master
and NFS home directory server.   It is running with kernel 2.0.35
(with Corel patches for FPU emulation directly in the kernel).

My PC uses 'autofs' to obtain home directories from the Netwinder.  It
was recently upgraded from Linux 2.0.36 to 2.2.preX (I have tried all
X'es from 2 to 6, and also 2.1.132).

In upgrading, of course my PC got at least 3 times as fast.  However,
applications like WordPerfect (libc5) and Netscape messenger (libc6)
would hang when they start up.  I did an 'strace' on WordPerfect, and
the last few items in the trace are:

   access("/usr/local/wordperfect/wplib", F_OK) = 0
   stat("/usr/local/wordperfect/wplib", {st_mode=S_IFDIR|0777, st_size=1024, ...}) = 0
   access("/home/tor/.wprc/.wp8styles", F_OK) = -1 ENOENT (No such file or directory)
   access("/home/tor/.wprc", F_OK)         = 0
   stat("/home/tor/.wprc", {st_mode=S_IFDIR|0775, st_size=1024, ...}) = 0
   access("/home/tor/.wprc/.wp8styles/X", F_OK) = -1 ENOENT (No such file or directory)
   access("/home/tor/.wprc/.wp8styles", F_OK) = -1 ENOENT (No such file or directory)
   access("/home/tor/.wprc/.wp8styles", F_OK) = -1 ENOENT (No such file or directory)
   open("/home/tor/.wprc/.wp8styles", O_RDWR|O_CREAT|O_TRUNC, 0666) = 5
   fcntl(5, F_GETLK <unfinished ...>


In other words, there is a problem locking a file inside my
(NFS-mounted) home directory.  If, on the other hand, I create a
directory named `/usr/local/home/tor/.wprc' then do
`ln -s /usr/local/home/tor/.wprc /home/tor/', so that '.wprc' is 
a symbolic link to a directory local to my PC, everything works fine.

I have tried this with or without the 'libnfslock' package installed,
both on the PC client (pre2.2) and Netwinder server (2.0.35).

I cannot easily upgrade the Netwinder to the 2.2.pre6 series.
Although an ARM port has been made by Russel King, this one does not
include FPU emulation in the kernel.  Unfortunately, due to the
current state of Debian's "bash", this is neccessary.  (Bash uses the
FPU, and there is a catch 22 trying to load a FPU-emulator module
without bash).

Insights appreciated.

-tor


Reply to: