summaryrefslogtreecommitdiffstats
path: root/fs/nfsd
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@citi.umich.edu>2009-09-26 16:53:01 -0400
committerJ. Bruce Fields <bfields@citi.umich.edu>2009-09-28 12:07:52 -0400
commitfed83811269d0f559d2da9139e12c5e5d9874d5c (patch)
tree148843d2c71b54ec556a46702c3a0e3e8d1056d4 /fs/nfsd
parent03d6a74b5f85ff46f20e1382982b7f4860f5fec6 (diff)
downloadlinux-fed83811269d0f559d2da9139e12c5e5d9874d5c.tar.gz
linux-fed83811269d0f559d2da9139e12c5e5d9874d5c.tar.bz2
linux-fed83811269d0f559d2da9139e12c5e5d9874d5c.zip
nfsd4: cross mountpoints when looking up parents
3c394ddaa7ea4205f933fd9b481166b2669368a9 "nfsd4: nfsv4 clients should cross mountpoints" forgot to handle lookups of parents directories. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Diffstat (limited to 'fs/nfsd')
-rw-r--r--fs/nfsd/vfs.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
index a293f0273263..b8ed58bab8b1 100644
--- a/fs/nfsd/vfs.c
+++ b/fs/nfsd/vfs.c
@@ -169,7 +169,7 @@ nfsd_lookup_dentry(struct svc_rqst *rqstp, struct svc_fh *fhp,
dentry = dget(dparent);
else if (dparent != exp->ex_path.dentry)
dentry = dget_parent(dparent);
- else if (!EX_NOHIDE(exp))
+ else if (!EX_NOHIDE(exp) && !nfsd_v4client(rqstp))
dentry = dget(dparent); /* .. == . just like at / */
else {
/* checking mountpoint crossing is very different when stepping up */