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) | |
download | talos-op-linux-30fa8c0157e4591ee2227aaa0b17cd3b0da5e6cb.tar.gz talos-op-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.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, 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 |