Linux NFS development
 help / color / mirror / Atom feed
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);

             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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox