From: Wendy Cheng <wcheng@redhat.com>
To: NFS list <linux-nfs@vger.kernel.org>
Subject: [PATCH] Fix NLM reference count panic
Date: Fri, 04 Jan 2008 17:48:49 -0500 [thread overview]
Message-ID: <477EB7D1.9030303@redhat.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 483 bytes --]
This is not exciting as Jeff Garzik's new NFSv4 server but a painful
chore needs to be done. Will start to push the patches for NLM lock
failover code next week. However, instead of doing large amount of
patches all at once, would like to do it one by one, if they can be
functionally separated. This is to avoid the tedious re-base works I
have been doing for the past, (oh no), two years ??!!!
First one should be simple enough without too much explanation ....
-- Wendy
[-- Attachment #2: 001-nlm_f_count.patch --]
[-- Type: text/x-patch, Size: 955 bytes --]
This fixes the incorrect fclose call inside nlm_traverse_files() where
a posix lock could still be held by NFS client. Problem was found in a
kernel panic inside locks_remove_flock() (fs/locks.c:2034) as part of
the fclose call due to NFS-NLM locks still hanging on inode->i_flock list.
Also see: http://people.redhat.com/wcheng/Patches/NFS/NLM/001.txt
svcsubs.c | 3 +--
1 files changed, 1 insertion(+), 2 deletions(-)
--- gfs2-nmw/fs/lockd/svcsubs.c 2007-04-10 11:59:09.000000000 -0400
+++ linux/fs/lockd/svcsubs.c 2007-04-18 10:01:23.000000000 -0400
@@ -250,8 +250,7 @@ nlm_traverse_files(struct nlm_host *host
mutex_lock(&nlm_file_mutex);
file->f_count--;
/* No more references to this file. Let go of it. */
- if (list_empty(&file->f_blocks) && !file->f_locks
- && !file->f_shares && !file->f_count) {
+ if (!nlm_file_inuse(file)) {
hlist_del(&file->f_list);
nlmsvc_ops->fclose(file->f_file);
kfree(file);
next reply other threads:[~2008-01-04 22:51 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-04 22:48 Wendy Cheng [this message]
2008-01-04 22:58 ` [PATCH] Fix NLM reference count panic Wendy Cheng
2008-01-04 23:24 ` J. Bruce Fields
2008-01-05 5:03 ` Wendy Cheng
2008-01-05 6:05 ` J. Bruce Fields
2008-01-05 17:46 ` Wendy Cheng
2008-01-05 17:36 ` J. Bruce Fields
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=477EB7D1.9030303@redhat.com \
--to=wcheng@redhat.com \
--cc=linux-nfs@vger.kernel.org \
/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.