Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 31 Aug 2011 08:49:55 -0400 (EDT)
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        George Liaskos <geo.liaskos@gmail.com>
Cc:        freebsd-fs@freebsd.org, Pawel Jakub Dawidek <pjd@freebsd.org>
Subject:   Re: NFSv4: After upgrade to 9 users can no longer list files. (sounds like a ZFS issue?)
Message-ID:  <382461010.589453.1314794995233.JavaMail.root@erie.cs.uoguelph.ca>
In-Reply-To: <CANcjpOByga-_DPnrm69731q6CvkGV7hHSHRVsnakzkVjzTQOHw@mail.gmail.com>

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

George Liaskos wrote:
> > You could try this patch and see what effect it has (applied to the
> > server). It just disables the access check for readdir.
> > --- nfs_nfsdport.c.sav2 2011-08-30 10:35:58.000000000 -0400
> > +++ nfs_nfsdport.c 2011-08-30 10:36:54.000000000 -0400
> > @@ -1838,10 +1838,12 @@ nfsrvd_readdirplus(struct nfsrv_descript
> >                nd->nd_repstat = NFSERR_NOTDIR;
> >        if (!nd->nd_repstat && cnt == 0)
> >                nd->nd_repstat = NFSERR_TOOSMALL;
> > +#ifdef notnow
> >        if (!nd->nd_repstat)
> >                nd->nd_repstat = nfsvno_accchk(vp, VEXEC,
> >                    nd->nd_cred, exp, p, NFSACCCHK_NOOVERRIDE,
> >                    NFSACCCHK_VPISLOCKED, NULL);
> > +#endif
> >        if (nd->nd_repstat) {
> >                vput(vp);
> >                if (nd->nd_flag & ND_NFSV3)
> >
> > This wouldn't be suitable for a production system, but whether or
> > not it "fixes" the problem would give us an indication of where the
> > problem is.
> >
> > Also, if you could clarify when your 8/stable was downloaded,
> > whether
> > your 9.0 upgrade was to vanilla Beta1 or ??? and details w.r.t. your
> > ZFS setup, that might help.
> 
> I use svn, unfortunately i don't remember exactly when i moved from
> 8.2 to stable. I synced with CURRENT last week and this issue
> appeared, i did a second update to beta 2 [r225237] with the same
> results.
> 
> The patch didn't make any difference. I downloaded an ISO with BETA-1
> and
> made a VM installation, i was not able to reproduce this.
> 
> Updated one of the clients to r225237, setup some nfs exports on top
> of ZFS
> and ls does not work for non root users. I created a new pool on top
> of a memory fs
> to test this.
> 
> Next, i "downgraded" the server to BETA-1 [r224413] and everything is
> back to normal.
Ok, so it sounds like a post-Beta1 server issue. Did I get that correct?

> So there's a bug which was introduced somewhere between BETA-1 &&
> BETA-2 :p
> 
Well, I can't imagine why this would matter, but you can try this patch,
which fixes a problem introduced by r224810 where Lookup ".." no longer
works. (It's at http://people.freebsd.org/~rmacklem/dotdot.patch, in case
the white space gets munged.)
Index: fs/nfsserver/nfs_nfsdport.c
===================================================================
--- fs/nfsserver/nfs_nfsdport.c	(revision 225270)
+++ fs/nfsserver/nfs_nfsdport.c	(working copy)
@@ -282,6 +282,7 @@ nfsvno_namei(struct nfsrv_descript *nd, struct nam
 
 	*retdirp = NULL;
 	cnp->cn_nameptr = cnp->cn_pnbuf;
+	ndp->ni_strictrelative = 0;
 	/*
 	 * Extract and set starting directory.
 	 */
Index: nfsserver/nfs_serv.c
===================================================================
--- nfsserver/nfs_serv.c	(revision 225270)
+++ nfsserver/nfs_serv.c	(working copy)
@@ -157,6 +157,7 @@ ndclear(struct nameidata *nd)
 	nd->ni_vp = NULL;
 	nd->ni_dvp = NULL;
 	nd->ni_startdir = NULL;
+	nd->ni_strictrelative = 0;
 }
 
 /*

rick
> Thank you for your help!
> 
> Regards,
> George



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