Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Aug 2011 11:47:14 -0400 (EDT)
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        Steve Wills <swills@FreeBSD.org>
Cc:        freebsd-current@FreeBSD.org
Subject:   Re: NFS mountd version 3 over TCP
Message-ID:  <1482338417.485168.1314632834055.JavaMail.root@erie.cs.uoguelph.ca>
In-Reply-To: <4E5B34A1.9030803@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Steve Wills wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> On 08/27/11 21:23, Steve Wills wrote:
> > On 08/27/11 20:55, Rick Macklem wrote:
> >>> I don't know why the nfsd wouldn't be able to bind(2) to port
> >>> #2049 a
> >>> second time for UDP, but someone on the net side might know? (Just
> >>> in
> >>> case it is a problem that has already been fixed, I'd try a newer
> >>> kernel.)
> >
> > Will do, see below.
> >
> >>> The new server was broken by r224778 on Aug. 11 and fixed by
> >>> r224911 on
> >>> Aug. 16. (I recall you mentioning Aug. 11?)
> >
> > My kernel is from Aug 13, so definitely would fall into that range.
> > I'll
> > update and rebuild and see how it goes.
> >
> 
> After working around the /dev/stdout issue by booting an old kernel
> and
> doing a buildworld from there, I was able to update my kernel to
> todays
> sources. ESXi is now able to mount the nfs share. However, when I
> attempt to start a VM, it reports:
> 
> Failed to power on VM.
> Unable to retrieve the current working directory: 0 (Input/output
> error). Check if the directory has been deleted or unmounted.
> 
> and
> 
> FILE: File_Cwd: getcwd() failed: Input/output error
> 
> I have tcpdump output available here:
> 
> http://people.freebsd.org/~swills/nfs2.pcap
> 
> if that helps.
> 
I think it did. Lookup of ".." was failing. I think that was because
ni_strictrelative (added for capabilities) wasn't initialized and
happened to be non-zero.

Please try this patch and let us know if it helps:
--- fs/nfsserver/nfs_nfsdport.c.sav	2011-08-29 11:05:00.000000000 -0400
+++ fs/nfsserver/nfs_nfsdport.c	2011-08-29 11:29:43.000000000 -0400
@@ -282,6 +282,10 @@ nfsvno_namei(struct nfsrv_descript *nd, 
 
 	*retdirp = NULL;
 	cnp->cn_nameptr = cnp->cn_pnbuf;
+	/* Initialize new fields for capabilities. */
+	ndp->ni_strictrelative = 0;
+	ndp->ni_rightsneeded = 0;
+	ndp->ni_baserights = 0;
 	/*
 	 * Extract and set starting directory.
 	 */

It's also at (in case white space gets munged)
  http://people.freebsd.org/~rmacklem/dotdot.patch

Thanks for reporting this, I'm not sure when these fields not
being initialized would have been noticed otherwise, rick

> Steve
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2.0.17 (FreeBSD)
> 
> iQEcBAEBAgAGBQJOWzShAAoJEPXPYrMgexuhxo0H/0ALErvMrpcxtkuUv07ipj0O
> Z8p3YkMFkckSy6s0QCAOCVgjbqZptCkKg96vMehG3nI5o2HtA43h5y6UNvMi1FWE
> WOiIFbzXkgfn1pubv2YyFwaDK1aFXMswwYaCHSP7a+K8fpjDOiR5ZnhhyXcb7k1X
> YmURkSEbLbngLdIfywPATSiby9PyFVqyMjhU3yW/Y8QLueEjK4xq5RsbmU1Qmv2B
> bjA11x9birNvc//iBp6zTqBP752soqK+M9aXrjjm9GzhN0UeKdXseWt9zd3mu2qs
> cfPUqz7DSATQNxwfpqIGnE4naYzPyKPbDbv6k5lKDjmmHn2O7VzXQXimjE6sT3o=
> =Dpjc
> -----END PGP SIGNATURE-----



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