rpms/kernel/devel linux-2.6.17-nfs-fix_client_shutdown.patch, NONE, 1.1 kernel-2.6.spec, 1.2702, 1.2703

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Wed Sep 27 18:43:35 UTC 2006


Author: davej

Update of /cvs/dist/rpms/kernel/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv28308

Modified Files:
	kernel-2.6.spec 
Added Files:
	linux-2.6.17-nfs-fix_client_shutdown.patch 
Log Message:
Fix rpc_pipefs umount oops

linux-2.6.17-nfs-fix_client_shutdown.patch:
 client.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

--- NEW FILE linux-2.6.17-nfs-fix_client_shutdown.patch ---
The scheme to indicate which services have been started up appears to be
seriously broken.

Signed-off-by: Trond Myklebust <Trond.Myklebust at netapp.com>
---

 fs/nfs/client.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)
--- linux-2.6.17.i686/fs/nfs/client.c.orig	2006-09-20 04:46:42.000000000 -0400
+++ linux-2.6.17.i686/fs/nfs/client.c	2006-09-20 04:47:23.000000000 -0400
@@ -112,9 +112,9 @@ static struct nfs_client *nfs_alloc_clie
 	if (error < 0) {
 		dprintk("%s: couldn't start rpciod! Error = %d\n",
 				__FUNCTION__, error);
-		__set_bit(NFS_CS_RPCIOD, &clp->cl_res_state);
 		goto error_1;
 	}
+	__set_bit(NFS_CS_RPCIOD, &clp->cl_res_state);
 
 	if (nfsversion == 4) {
 		if (nfs_callback_up() < 0)
@@ -154,8 +154,8 @@ static struct nfs_client *nfs_alloc_clie
 	return clp;
 
 error_3:
-	nfs_callback_down();
-	__clear_bit(NFS_CS_CALLBACK, &clp->cl_res_state);
+	if (__test_and_clear_bit(NFS_CS_CALLBACK, &clp->cl_res_state))
+		nfs_callback_down();
 error_2:
 	rpciod_down();
 	__clear_bit(NFS_CS_RPCIOD, &clp->cl_res_state);
@@ -198,7 +198,7 @@ static void nfs_free_client(struct nfs_c
 		nfs_callback_down();
 
 	if (__test_and_clear_bit(NFS_CS_RPCIOD, &clp->cl_res_state))
-	rpciod_down();
+		rpciod_down();
 
 	kfree(clp->cl_hostname);
 	kfree(clp);
@@ -884,9 +884,9 @@ static int nfs4_init_client(struct nfs_c
 	if (error < 0) {
 		dprintk("%s: failed to create idmapper. Error = %d\n",
 			__FUNCTION__, error);
-		__set_bit(NFS_CS_IDMAP, &clp->cl_res_state);
 		goto error;
 	}
+	__set_bit(NFS_CS_IDMAP, &clp->cl_res_state);
 
 	nfs_mark_client_ready(clp, NFS_CS_READY);
 	return 0;



Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/kernel-2.6.spec,v
retrieving revision 1.2702
retrieving revision 1.2703
diff -u -r1.2702 -r1.2703
--- kernel-2.6.spec	27 Sep 2006 18:17:14 -0000	1.2702
+++ kernel-2.6.spec	27 Sep 2006 18:43:33 -0000	1.2703
@@ -453,6 +453,8 @@
 Patch1440: linux-2.6-nfs-64-bit-inode-support.patch
 # Fix NFS/Selinux oops.
 Patch1441: linux-2.6-nfs-selinux-oops.patch
+# Fix rpc_pipefs umount oops
+Patch1442: linux-2.6.17-nfs-fix_client_shutdown.patch
 
 # EXT3 fixes
 Patch1450: linux-2.6-ext3-16tb-overflow-fixes.patch
@@ -1019,6 +1021,8 @@
 %patch1440 -p1
 # Fix NFS/Selinux oops. (#204848)
 %patch1441 -p1
+# Fix rpc_pipefs umount oops
+%patch1442 -p1
 
 # EXT3
 # overflows at 16tb fix
@@ -1926,6 +1930,7 @@
 * Wed Sep 27 2006 Dave Jones <davej at redhat.com>
 - yet more lockdep fixes.
 - Fix a problem with XFS & the inode diet patches.
+- Fix rpc_pipefs umount oops
 
 * Tue Sep 26 2006 Dave Jones <davej at redhat.com>
 - Enable serverworks IDE driver for x86-64.




More information about the fedora-cvs-commits mailing list