diff options
author | Steve Dickson <SteveD@redhat.com> | 2009-01-07 16:54:30 -0500 |
---|---|---|
committer | J. Bruce Fields <bfields@citi.umich.edu> | 2009-01-07 17:23:07 -0500 |
commit | 30fa8c0157e4591ee2227aaa0b17cd3b0da5e6cb (patch) | |
tree | 72d86ee99d280eebe611cf6e38a26809d75b7a52 /fs | |
parent | 24c3767e41a6a59d32bb45abe899eb194e6bf1b8 (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')
-rw-r--r-- | fs/nfsd/nfsfh.c | 6 |
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 |