From: Kashif Shaikh <kshaikh@consensys.com>
To: "nfs@lists.sourceforge.net" <nfs@lists.sourceforge.net>
Subject: nfs-utils/lockd problems
Date: 19 Jul 2002 13:45:08 -0400 [thread overview]
Message-ID: <1027100709.25617.166.camel@k2x> (raw)
Hello everyone,
I'm encountering unmount issues with lockd on stock 2.4.18 kernels. The
problem:
On the raidzone1(ip=192.168.2.224) server host(where knfsd is running on
2.4.18), prior to exporting /home to client 192.168.2.134 with
rw,sync,no_root_squash options, I mount /dev/sda1 to /home. Then I
export the client.(btw, this is the only client+export point in the
kernel tables)
On the nfs client(ip=192.168.2.134) which also has a stock 2.4.18
kernel, I mount the nfs export-point /home from raidzone1 onto /test. I
go ahead and issue a posix file lock(range=whole file) for *one* file
on the mounted nfs filesystem. The nfs client acquires the lock
successfully.
The problem:
Now on the server host I unexport the client via unexportfs -u
192.168.2.134:/home. Checked /proc/fs/nfs/exportfs: cleaned-out,no
entries. Remember: client still has /home mounted on his side.
But, when I try to umount /dev/sda1 from /home, I get a "device is busy"
error. Same error even if I try to force the umount.
It is important to note, that I only get the umount problems IF the
client has issued locks. It doesn't matter if the client has open files
on the nfs fs, transferring data, type of lock,etc.
A simple work-around for this problem is to shutdown the nfs subsystem
and restart it. Another way would be if the client unlocks the files.
In both cases I can proceed to umount /home. To me however, such
solutions are unacceptable. I know this much: this problem is with
lockd.
More investigation reveals that knfsd is informing lockd to remove locks
when a *client* is removed. Call path: handle_sys_nfsservctl->
nfsdelclient->exp_delcient->exp_freeclient->nfsd_lockd_unexport->
nlmsvc_invalidate_client. Funny thing is, exportfs in
nfs-utils-1.0.1-pre8 never calls nfsctl() with NFS_DELCLIENT when
unexporting a client+export_point; it only calls nfsctl() with
NFS_UNEXPORT. On the other hand, exportfs does call nfsctl() with
NFS_ADDCLIENT & NFS_EXPORT.
So has anyone come up with a fix where knfsd tells lockd to "remove all
locks on this nfs filesystem/export-point"?
Thanks for any help,
Kashif Shaikh
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
NFS maillist - NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs
next reply other threads:[~2002-07-19 17:45 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-07-19 17:45 Kashif Shaikh [this message]
2002-07-19 22:13 ` nfs-utils/lockd problems Steven N. Hirsch
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1027100709.25617.166.camel@k2x \
--to=kshaikh@consensys.com \
--cc=nfs@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.