Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 03 Oct 2002 09:43:02 +0100
From:      Ian Dowse <iedowse@maths.tcd.ie>
To:        Robert Watson <rwatson@FreeBSD.ORG>
Cc:        Don Lewis <dl-freebsd@catspoiler.org>, current@FreeBSD.ORG
Subject:   Re: NFS hang on rmdir(2) with 5.0-current client, server 
Message-ID:   <200210030943.aa86349@salmon.maths.tcd.ie>
In-Reply-To: Your message of "Thu, 03 Oct 2002 02:03:22 EDT." <Pine.NEB.3.96L.1021003020248.53997J-100000@fledge.watson.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
In message <Pine.NEB.3.96L.1021003020248.53997J-100000@fledge.watson.org>, Robe
rt Watson writes:
>> > It looks like the client is basically hung waiting for an RPC response.
>> > I'd be glad to provide more debugging information if someone can point me
>> > in the right direction.
>> 
>> I haven't seen this seen this problem with a 5.0-CURRENT client and a
>> 4.7-PRERELEASE server, so as near as I can tell the client side isn't
>> totally hosed. 
>
>Interesting observation: rm on files, and rmdir on empty directories
>doesn't trigger it, but attempt to rmdir on a non-empty directory does. 

This an NFSv2 mount, and I think the problem is specific to NFSv2.
Something like the following patch should fix it. I probably missed
this in revision 1.112 when fixing some similar issues in other
server op functions. See the commit message for that revision for
further details.

Ian

Index: nfs_serv.c
===================================================================
RCS file: /dump/FreeBSD-CVS/src/sys/nfsserver/nfs_serv.c,v
retrieving revision 1.123
diff -u -r1.123 nfs_serv.c
--- nfs_serv.c	25 Sep 2002 02:39:39 -0000	1.123
+++ nfs_serv.c	3 Oct 2002 08:30:49 -0000
@@ -2905,10 +2905,9 @@
 	if (dirp)
 		diraft_ret = VOP_GETATTR(dirp, &diraft, cred, td);
 	nfsm_reply(NFSX_WCCDATA(v3));
-	if (v3) {
+	error = 0;
+	if (v3)
 		nfsm_srvwcc_data(dirfor_ret, &dirfor, diraft_ret, &diraft);
-		error = 0;
-	}
 	/* fall through */
 
 nfsmout:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi? <200210030943.aa86349>