From: neilbrown <neilbrown>
Date: Wed, 21 May 2003 05:58:29 +0000 (+0000)
Subject: Make CROSSMNT distinct from NOHIDE
X-Git-Tag: nfs-utils-1-1-0-pre2^0
X-Git-Url: https://git.decadent.org.uk/gitweb/?a=commitdiff_plain;h=827f2a0c8c7606ad0245bfa4b9c81075f0de18c7;p=nfs-utils.git

Make CROSSMNT distinct from NOHIDE
---

diff --git a/ChangeLog b/ChangeLog
index c181e21..1494b88 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2003-05-21  NeilBrown <neilb@cse.unsw.edu.au>
+
+	* support/include/nfs/export.h: New CROSSMNT distinct from NOHIDE
+	* support/nfs/exports.c: Make CROSSMNT distinct from NOHIDE
+	* utils/exportfs/exportfs.c(dump): ditto
+	
 2003-05-21  NeilBrown <neilb@cse.unsw.edu.au>
 
 	* support/export/hostname.c(get_reliable_hostbyaddr): new function
diff --git a/support/include/nfs/export.h b/support/include/nfs/export.h
index 344ece5..d79a179 100644
--- a/support/include/nfs/export.h
+++ b/support/include/nfs/export.h
@@ -20,10 +20,11 @@
 #define NFSEXP_UIDMAP		0x0040
 #define NFSEXP_KERBEROS		0x0080		/* not available */
 #define NFSEXP_SUNSECURE	0x0100
-#define NFSEXP_CROSSMNT		0x0200
+#define NFSEXP_NOHIDE		0x0200
 #define NFSEXP_NOSUBTREECHECK	0x0400
 #define NFSEXP_NOAUTHNLM	0x0800
 #define NFSEXP_FSID		0x2000
-#define NFSEXP_ALLFLAGS		0x3FFF
+#define	NFSEXP_CROSSMNT		0x4000
+#define NFSEXP_ALLFLAGS		0x7FFF
 
 #endif /* _NSF_EXPORT_H */
diff --git a/support/nfs/exports.c b/support/nfs/exports.c
index 3d23959..dfb241e 100644
--- a/support/nfs/exports.c
+++ b/support/nfs/exports.c
@@ -170,8 +170,10 @@ putexportent(struct exportent *ep)
 	fprintf(fp, "%ssync,", (ep->e_flags & NFSEXP_ASYNC)? "a" : "");
 	fprintf(fp, "%swdelay,", (ep->e_flags & NFSEXP_GATHERED_WRITES)?
 				"" : "no_");
-	fprintf(fp, "%shide,", (ep->e_flags & NFSEXP_CROSSMNT)?
+	fprintf(fp, "%shide,", (ep->e_flags & NFSEXP_NOHIDE)?
 				"no" : "");
+	fprintf(fp, "%scrossmnt,", (ep->e_flags & NFSEXP_CROSSMNT)?
+				"" : "no");
 	fprintf(fp, "%ssecure,", (ep->e_flags & NFSEXP_INSECURE_PORT)?
 				"in" : "");
 	fprintf(fp, "%sroot_squash,", (ep->e_flags & NFSEXP_ROOTSQUASH)?
@@ -333,12 +335,12 @@ parseopts(char *cp, struct exportent *ep, int warn)
 			had_sync_opt = 1;
 			ep->e_flags |= NFSEXP_ASYNC;
 		} else if (!strcmp(opt, "nohide"))
-			ep->e_flags |= NFSEXP_CROSSMNT;
+			ep->e_flags |= NFSEXP_NOHIDE;
 		else if (!strcmp(opt, "hide"))
-			ep->e_flags &= ~NFSEXP_CROSSMNT;
-		else if (!strcmp(opt, "crossmnt"))		/* old style */
+			ep->e_flags &= ~NFSEXP_NOHIDE;
+		else if (!strcmp(opt, "crossmnt"))
 			ep->e_flags |= NFSEXP_CROSSMNT;
-		else if (!strcmp(opt, "nocrossmnt"))		/* old style */
+		else if (!strcmp(opt, "nocrossmnt"))
 			ep->e_flags &= ~NFSEXP_CROSSMNT;
 		else if (!strcmp(opt, "wdelay"))
 			ep->e_flags |= NFSEXP_GATHERED_WRITES;
diff --git a/utils/exportfs/exportfs.c b/utils/exportfs/exportfs.c
index 60f130e..05ace88 100644
--- a/utils/exportfs/exportfs.c
+++ b/utils/exportfs/exportfs.c
@@ -333,8 +333,10 @@ dump(int verbose)
 				c = dumpopt(c, "async");
 			if (ep->e_flags & NFSEXP_GATHERED_WRITES)
 				c = dumpopt(c, "wdelay");
-			if (ep->e_flags & NFSEXP_CROSSMNT)
+			if (ep->e_flags & NFSEXP_NOHIDE)
 				c = dumpopt(c, "nohide");
+			if (ep->e_flags & NFSEXP_CROSSMNT)
+				c = dumpopt(c, "crossmnt");
 			if (ep->e_flags & NFSEXP_INSECURE_PORT)
 				c = dumpopt(c, "insecure");
 			if (ep->e_flags & NFSEXP_ROOTSQUASH)