summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Dickson <SteveD@redhat.com>2009-01-07 22:54:30 +0100
committerJ. Bruce Fields <bfields@citi.umich.edu>2009-01-07 23:23:07 +0100
commit30fa8c0157e4591ee2227aaa0b17cd3b0da5e6cb (patch)
tree72d86ee99d280eebe611cf6e38a26809d75b7a52
parentSUNRPC: The sunrpc server code should not be used by out-of-tree modules (diff)
downloadlinux-30fa8c0157e4591ee2227aaa0b17cd3b0da5e6cb.tar.xz
linux-30fa8c0157e4591ee2227aaa0b17cd3b0da5e6cb.zip
NFSD: FIDs need to take precedence over UUIDs
When determining the fsid_type in fh_compose(), the setting of the FID via fsid= export option needs to take precedence over using the UUID device id. Signed-off-by: Steve Dickson <steved@redhat.com> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
-rw-r--r--fs/nfsd/nfsfh.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/nfsd/nfsfh.c b/fs/nfsd/nfsfh.c
index 019a8a20184d..9f1ca17293d3 100644
--- a/fs/nfsd/nfsfh.c
+++ b/fs/nfsd/nfsfh.c
@@ -484,6 +484,8 @@ fh_compose(struct svc_fh *fhp, struct svc_export *exp, struct dentry *dentry,
goto retry;
break;
}
+ } else if (exp->ex_flags & NFSEXP_FSID) {
+ fsid_type = FSID_NUM;
} else if (exp->ex_uuid) {
if (fhp->fh_maxsize >= 64) {
if (root_export)
@@ -496,9 +498,7 @@ fh_compose(struct svc_fh *fhp, struct svc_export *exp, struct dentry *dentry,
else
fsid_type = FSID_UUID4_INUM;
}
- } else if (exp->ex_flags & NFSEXP_FSID)
- fsid_type = FSID_NUM;
- else if (!old_valid_dev(ex_dev))
+ } else if (!old_valid_dev(ex_dev))
/* for newer device numbers, we must use a newer fsid format */
fsid_type = FSID_ENCODE_DEV;
else