aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd/nfsfh.c
diff options
context:
space:
mode:
authorSteve Dickson <SteveD@redhat.com>2009-01-07 16:54:30 -0500
committerJ. Bruce Fields <bfields@citi.umich.edu>2009-01-07 17:23:07 -0500
commit30fa8c0157e4591ee2227aaa0b17cd3b0da5e6cb (patch)
tree72d86ee99d280eebe611cf6e38a26809d75b7a52 /fs/nfsd/nfsfh.c
parent24c3767e41a6a59d32bb45abe899eb194e6bf1b8 (diff)
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>
Diffstat (limited to 'fs/nfsd/nfsfh.c')
-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,
484 goto retry; 484 goto retry;
485 break; 485 break;
486 } 486 }
487 } else if (exp->ex_flags & NFSEXP_FSID) {
488 fsid_type = FSID_NUM;
487 } else if (exp->ex_uuid) { 489 } else if (exp->ex_uuid) {
488 if (fhp->fh_maxsize >= 64) { 490 if (fhp->fh_maxsize >= 64) {
489 if (root_export) 491 if (root_export)
@@ -496,9 +498,7 @@ fh_compose(struct svc_fh *fhp, struct svc_export *exp, struct dentry *dentry,
496 else 498 else
497 fsid_type = FSID_UUID4_INUM; 499 fsid_type = FSID_UUID4_INUM;
498 } 500 }
499 } else if (exp->ex_flags & NFSEXP_FSID) 501 } else if (!old_valid_dev(ex_dev))
500 fsid_type = FSID_NUM;
501 else if (!old_valid_dev(ex_dev))
502 /* for newer device numbers, we must use a newer fsid format */ 502 /* for newer device numbers, we must use a newer fsid format */
503 fsid_type = FSID_ENCODE_DEV; 503 fsid_type = FSID_ENCODE_DEV;
504 else 504 else