All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <4781BE72.7050404@redhat.com>

diff --git a/a/1.txt b/N1/1.txt
index fd33714..aca991f 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,5 +1,5 @@
 This small patch has not been changed since our last discussion:
-http://www.opensubscriber.com/message/nfs at lists.sourceforge.net/6348912.html
+http://www.opensubscriber.com/message/nfs@lists.sourceforge.net/6348912.html
 
 To recap the issue, a client could ask for a posix lock that invokes:
 
@@ -21,11 +21,3 @@ shares, and f_count is zero, it will get removed from hash and fclose()
 invoked with the posix lock hanging on i_flock list.
 
 -- Wendy
-
--------------- next part --------------
-A non-text attachment was scrubbed...
-Name: unlock_002.patch
-Type: text/x-patch
-Size: 939 bytes
-Desc: not available
-URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20080107/7dc95a17/attachment.bin>
diff --git a/N1/2.hdr b/N1/2.hdr
new file mode 100644
index 0000000..906a6a8
--- /dev/null
+++ b/N1/2.hdr
@@ -0,0 +1,5 @@
+Content-Type: text/x-patch;
+ name="unlock_002.patch"
+Content-Transfer-Encoding: 7bit
+Content-Disposition: inline;
+ filename="unlock_002.patch"
diff --git a/N1/2.txt b/N1/2.txt
new file mode 100644
index 0000000..9e512c7
--- /dev/null
+++ b/N1/2.txt
@@ -0,0 +1,22 @@
+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.
+
+Signed-off-by: S. Wendy Cheng <wcheng@redhat.com>
+
+ svcsubs.c |    3 +--
+ 1 files changed, 1 insertion(+), 2 deletions(-)
+
+--- linux-nlm-1/fs/lockd/svcsubs.c	2008-01-06 18:23:20.000000000 -0500
++++ linux/fs/lockd/svcsubs.c	2008-01-06 18:24:12.000000000 -0500
+@@ -332,8 +332,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);
diff --git a/a/content_digest b/N1/content_digest
index acb9cc5..dad3b96 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,11 +1,12 @@
  "From\0Wendy Cheng <wcheng@redhat.com>\0"
- "Subject\0[Cluster-devel] [PATCH 2/2] Fix lockd panic\0"
+ "Subject\0[PATCH 2/2] Fix lockd panic\0"
  "Date\0Mon, 07 Jan 2008 00:53:54 -0500\0"
- "To\0cluster-devel.redhat.com\0"
- "\00:1\0"
+ "To\0NFS list <linux-nfs@vger.kernel.org>\0"
+ "Cc\0cluster-devel@redhat.com\0"
+ "\01:1\0"
  "b\0"
  "This small patch has not been changed since our last discussion:\n"
- "http://www.opensubscriber.com/message/nfs at lists.sourceforge.net/6348912.html\n"
+ "http://www.opensubscriber.com/message/nfs@lists.sourceforge.net/6348912.html\n"
  "\n"
  "To recap the issue, a client could ask for a posix lock that invokes:\n"
  "\n"
@@ -26,14 +27,31 @@
  "shares, and f_count is zero, it will get removed from hash and fclose() \n"
  "invoked with the posix lock hanging on i_flock list.\n"
  "\n"
- "-- Wendy\n"
+ -- Wendy
+ "\01:2\0"
+ "fn\0unlock_002.patch\0"
+ "b\0"
+ "This fixes the incorrect fclose call inside nlm_traverse_files() where\n"
+ "a posix lock could still be held by NFS client. Problem was found in a\n"
+ "kernel panic inside locks_remove_flock() (fs/locks.c:2034) as part of\n"
+ "the fclose call due to NFS-NLM locks still hanging on inode->i_flock list.\n"
+ "\n"
+ "Signed-off-by: S. Wendy Cheng <wcheng@redhat.com>\n"
+ "\n"
+ " svcsubs.c |    3 +--\n"
+ " 1 files changed, 1 insertion(+), 2 deletions(-)\n"
  "\n"
- "-------------- next part --------------\n"
- "A non-text attachment was scrubbed...\n"
- "Name: unlock_002.patch\n"
- "Type: text/x-patch\n"
- "Size: 939 bytes\n"
- "Desc: not available\n"
- URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20080107/7dc95a17/attachment.bin>
+ "--- linux-nlm-1/fs/lockd/svcsubs.c\t2008-01-06 18:23:20.000000000 -0500\n"
+ "+++ linux/fs/lockd/svcsubs.c\t2008-01-06 18:24:12.000000000 -0500\n"
+ "@@ -332,8 +332,7 @@ nlm_traverse_files(struct nlm_host *host\n"
+ " \t\t\tmutex_lock(&nlm_file_mutex);\n"
+ " \t\t\tfile->f_count--;\n"
+ " \t\t\t/* No more references to this file. Let go of it. */\n"
+ "-\t\t\tif (list_empty(&file->f_blocks) && !file->f_locks\n"
+ "-\t\t\t && !file->f_shares && !file->f_count) {\n"
+ "+\t\t\tif (!nlm_file_inuse(file)) {\n"
+ " \t\t\t\thlist_del(&file->f_list);\n"
+ " \t\t\t\tnlmsvc_ops->fclose(file->f_file);\n"
+ " \t\t\t\tkfree(file);"
 
-0f29c2267ce316e540ad730b8a148ee6bff5cf97dc3edd48091ce4088af0478d
+9e1be5aec027cc04195e4a7abe388f6f24de2e442e1f4263485088602efdae2a

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.