From 827f2a0c8c7606ad0245bfa4b9c81075f0de18c7 Mon Sep 17 00:00:00 2001 From: neilbrown Date: Wed, 21 May 2003 05:58:29 +0000 Subject: [PATCH] Make CROSSMNT distinct from NOHIDE --- ChangeLog | 6 ++++++ support/include/nfs/export.h | 5 +++-- support/nfs/exports.c | 12 +++++++----- utils/exportfs/exportfs.c | 4 +++- 4 files changed, 19 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index c181e21..1494b88 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2003-05-21 NeilBrown + + * 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 * 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) -- 2.39.2