Bug 244949

Summary: [NetApp-N 5.1 bug] umount utility
Product: Red Hat Enterprise Linux 5 Reporter: Bikash <bikash>
Component: kernelAssignee: Steve Dickson <steved>
Status: CLOSED ERRATA QA Contact:
Severity: urgent Docs Contact:
Priority: high    
Version: 5.0CC: andriusb, dzickus, k.georgiou, ricardo.labiaga
Target Milestone: ---Keywords: OtherQA, Regression
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: RHBA-2007-0959 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-11-07 19:53:36 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 217207    

Description Bikash 2007-06-20 00:36:34 UTC
Although the umount utility has been fixedin RHEL5, a new problem has been 
introduced.  The NFS kernel client module was changed by commit: 
54ceac4515986030c2502960be620198dd8fe25b
   "NFS: Share NFS superblocks per-protocol per-server per-FSID" 
This change removed a check in nfs_umount_begin that is meant to kill the
outstanding RPC tasks if MNT_FORCE is specified.

I have contacted RedHat and they requested that we open a Bugzilla report to
request a fix for this latest kernel patch.  The required change follows:

 fs/nfs/super.c |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/fs/nfs/super.c b/fs/nfs/super.c
index ca20d3c..abb4a35 100644
--- a/fs/nfs/super.c
+++ b/fs/nfs/super.c
@@ -430,7 +430,20 @@ static int nfs_show_stats(struct seq_file *m, struct 
vfsmount *mnt)
  */
 static void nfs_umount_begin(struct vfsmount *vfsmnt, int flags)
 {
+	struct nfs_server *server = NFS_SB(vfsmnt->mnt_sb);
+	struct rpc_clnt *rpc;
+
 	shrink_submounts(vfsmnt, &nfs_automount_list);
+	
+	if (!(flags & MNT_FORCE))
+		return;
+	/* -EIO all pending I/O */
+	rpc = server->client_acl;
+	if (!IS_ERR(rpc))
+		rpc_killall_tasks(rpc);
+	rpc = server->client;
+	if (!IS_ERR(rpc))
+		rpc_killall_tasks(rpc);
 }
 
 /*

Comment 2 RHEL Program Management 2007-06-21 17:03:57 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
release.

Comment 6 Don Zickus 2007-07-23 16:17:50 UTC
in 2.6.18-36.el5
You can download this test kernel from http://people.redhat.com/dzickus/el5

Comment 8 Mike Gahagan 2007-08-01 17:46:14 UTC
I can confirm the patch to fix this is in the -36.el5 kernel.


Comment 10 errata-xmlrpc 2007-11-07 19:53:36 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2007-0959.html