Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Nov 1998 09:12:42 +0100 (CET)
From:      Cejka Rudolf <cejkar@dcse.fee.vutbr.cz>
To:        remy@synx.com
Cc:        freebsd-current@FreeBSD.ORG, freebsd-hackers@FreeBSD.ORG
Subject:   Re: Is it soup yet? FreeBSD NFS
Message-ID:  <199811180812.JAA25327@kazi.dcse.fee.vutbr.cz>
In-Reply-To: <199811171622.RAA10676@rt2.synx.com> from Remy Nonnenmacher at "Nov 17, 98 05:17:46 pm"

next in thread | previous in thread | raw e-mail | index | archive | help

(CC: hackers)

> On 13 Nov, Cejka Rudolf wrote:
> > 
> > We have long-time problems (not critical) with NFS server running
> > on FreeBSD 2.2.6/2.2.7/3.0 against Solaris 2.5/2.6 clients there.
> > 
> > Our problem:
> > 
> > FreeBSD: NFS server without any special parameters.
> > Solaris: NFS client without any special parameters.
> > 
> > Example - working on Solaris above mounted filesystem from FreeBSD:
> > 
> > $ gzcat less-332.tar.gz | tar xvf -	# This creates 74 files in
> > 					# directory less-332
> > $ rm -r less-332			# This _leaves_ 43 files!
> > rm: Unable to remove directory less-332: File exists
> > $ rm -r less-332			# This _still leaves_ 15 files!
> > rm: Unable to remove directory less-332: File exists
> > $ rm -r less-332			# Uff, directory is removed now...
> > 
> > I think, problem is in different versions (NFSv2 vs. NFSv3) - but it
> > looks very trivial (?). If I mount NFS exported filesystem (exports
> > FreeBSD) on Solaris with option "vers=2" (it says "use NFSv2"),
> > problems disappear. But we are using cachefs (cached filesystem) over
> > NFS with automounting feature and we have no change to say "cachefs,
> > mount NFS filesystem with 'vers=2' option". There isn't any parameter
> > for this on Solaris...
> 
> I have an open problem on this (pr5890). Look at it and try the
> suggested fix. The machine where it is applied runs NFS serving for now
> 7 month and no problems appeared (clients: Solaris, aix, sco, hpux).
> 
> No need to say that this needs a competent blessing....(re-read the BSD
> license before trying it :).
> 
> RN.

Yes. It looks it is the problem. Thanks.

I have tried to debug mentioned code. Source code is:

	if (!error && toff && verf && verf != at.va_filerev)
		error = NFSERR_BAD_COOKIE;

And in case of "rm -r less-332" values for example are:
	error:		0
	toff:		5c:02:00:00:00:00:00:00 (memory dump)
	verf:		c7:a4:7c:5a:5b:00:00:00 (memory dump)
	at.va_filerev:	e6:a4:7c:5a:5b:00:00:00 (memory dump)
In every next "rm -r less-332" try value in at.va_filerev goes into verf
and at.va_filerev contains new unknown value. So is this bug on
Solaris side? (Or FreeBSD?) Is there any possible workaround without
disabling COOKIE tests?

Thanks.

--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--
Rudolf Cejka  (cejkar@dcse.fee.vutbr.cz;  http://www.fee.vutbr.cz/~cejkar)
Technical University of Brno, Faculty of El. Engineering and Comp. Science
Bozetechova 2, 612 66  Brno, Czech Republic

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



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