Commit 08dd6c30 authored by Bruce Allan's avatar Bruce Allan Committed by Linus Torvalds

[PATCH] kNFSd: fix brokenness with fsid= export option

Bruce Allan says:
The user-specified fsid= export option still doesn't work after the
changes made 5 months ago.  Below is a patch against 2.6.7 through
the recent 2.6.8-rc2-bk13.
Signed-off-by: default avatarNeil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 14a51713
...@@ -339,13 +339,16 @@ fh_compose(struct svc_fh *fhp, struct svc_export *exp, struct dentry *dentry, st ...@@ -339,13 +339,16 @@ fh_compose(struct svc_fh *fhp, struct svc_export *exp, struct dentry *dentry, st
ref_fh_fsid_type = ref_fh->fh_handle.fh_fsid_type; ref_fh_fsid_type = ref_fh->fh_handle.fh_fsid_type;
if (ref_fh_fsid_type > 3) if (ref_fh_fsid_type > 3)
ref_fh_fsid_type = 0; ref_fh_fsid_type = 0;
}
/* make sure ref_fh type works for given export */ /* make sure ref_fh type works for given export */
if (ref_fh_fsid_type == 1 && if (ref_fh_fsid_type == 1 &&
!(exp->ex_flags & NFSEXP_FSID)) { !(exp->ex_flags & NFSEXP_FSID)) {
/* if we don't have an fsid, we cannot provide one... */ /* if we don't have an fsid, we cannot provide one... */
ref_fh_fsid_type = 0; ref_fh_fsid_type = 0;
} }
} else if (exp->ex_flags & NFSEXP_FSID)
ref_fh_fsid_type = 1;
if (!old_valid_dev(ex_dev) && ref_fh_fsid_type == 0) { if (!old_valid_dev(ex_dev) && ref_fh_fsid_type == 0) {
/* for newer device numbers, we must use a newer fsid format */ /* for newer device numbers, we must use a newer fsid format */
ref_fh_version = 1; ref_fh_version = 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment