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 | |
| 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>
| -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 |
