<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">
From: Bruce Allan &lt;bwa@us.ibm.com&gt;

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: Neil Brown &lt;neilb@cse.unsw.edu.au&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
---

 25-akpm/fs/nfsd/nfsfh.c |   17 ++++++++++-------
 1 files changed, 10 insertions(+), 7 deletions(-)

diff -puN fs/nfsd/nfsfh.c~knfsd-fix-brokenness-with-fsid=-export-option fs/nfsd/nfsfh.c
--- 25/fs/nfsd/nfsfh.c~knfsd-fix-brokenness-with-fsid=-export-option	2004-08-09 02:08:02.767143800 -0700
+++ 25-akpm/fs/nfsd/nfsfh.c	2004-08-09 02:08:02.771143192 -0700
@@ -339,13 +339,16 @@ fh_compose(struct svc_fh *fhp, struct sv
 			ref_fh_fsid_type = ref_fh-&gt;fh_handle.fh_fsid_type;
 		if (ref_fh_fsid_type &gt; 3)
 			ref_fh_fsid_type = 0;
-	}
-	/* make sure ref_fh type works for given export */
-	if (ref_fh_fsid_type == 1 &amp;&amp;
-	    !(exp-&gt;ex_flags &amp; NFSEXP_FSID)) {
-		/* if we don't have an fsid, we cannot provide one... */
-		ref_fh_fsid_type = 0;
-	}
+
+		/* make sure ref_fh type works for given export */
+		if (ref_fh_fsid_type == 1 &amp;&amp;
+		    !(exp-&gt;ex_flags &amp; NFSEXP_FSID)) {
+			/* if we don't have an fsid, we cannot provide one... */
+			ref_fh_fsid_type = 0;
+		}
+	} else if (exp-&gt;ex_flags &amp; NFSEXP_FSID)
+		ref_fh_fsid_type = 1;
+
 	if (!old_valid_dev(ex_dev) &amp;&amp; ref_fh_fsid_type == 0) {
 		/* for newer device numbers, we must use a newer fsid format */
 		ref_fh_version = 1;
_
</pre></body></html>