NFS mountd version 3 over TCP
Rick Macklem
rmacklem at uoguelph.ca
Mon Aug 29 15:47:15 UTC 2011
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-----
More information about the freebsd-current
mailing list