Browse Source

knfsd: Fixed problem with NFS exporting directories which are mounted on.

Recent changes in NFSd cause a directory which is mounted-on
to not appear properly when the filesystem containing it is exported.

*exp_get* now returns -ENOENT rather than NULL and when
  commit 5d3dbbeaf56d0365ac6b5c0a0da0bd31cc4781e1
removed the NULL checks, it didn't add a check for -ENOENT.

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Neil Brown 17 years ago
parent
commit
a1033be72c
1 changed files with 2 additions and 1 deletions
  1. 2 1
      fs/nfsd/vfs.c

+ 2 - 1
fs/nfsd/vfs.c

@@ -115,7 +115,8 @@ nfsd_cross_mnt(struct svc_rqst *rqstp, struct dentry **dpp,
 
 
 	exp2 = rqst_exp_get_by_name(rqstp, mnt, mounts);
 	exp2 = rqst_exp_get_by_name(rqstp, mnt, mounts);
 	if (IS_ERR(exp2)) {
 	if (IS_ERR(exp2)) {
-		err = PTR_ERR(exp2);
+		if (PTR_ERR(exp2) != -ENOENT)
+			err = PTR_ERR(exp2);
 		dput(mounts);
 		dput(mounts);
 		mntput(mnt);
 		mntput(mnt);
 		goto out;
 		goto out;