summaryrefslogtreecommitdiffstats
path: root/support/nfs/exports.c
diff options
context:
space:
mode:
authorneilbrown <neilbrown>1999-10-28 02:27:55 +0000
committerneilbrown <neilbrown>1999-10-28 02:27:55 +0000
commitacc4cade1891c0b07f3e0016ff3c5b604b042c86 (patch)
treec319d7d853e4466f465192afd5bfce4f9ffd9cfc /support/nfs/exports.c
parent389610b2a817878802d25bd82919a79382b702ab (diff)
downloadnfs-utils-acc4cade1891c0b07f3e0016ff3c5b604b042c86.tar.gz
nfs-utils-acc4cade1891c0b07f3e0016ff3c5b604b042c86.tar.xz
nfs-utils-acc4cade1891c0b07f3e0016ff3c5b604b042c86.zip
Thu Oct 28 11:27:51 EST 1999 Neil Brown <neilb@cse.unsw.edu.au>
* support/include/nfs/export.h addedd NFSEXP_NOSUBTREECHECK * support/nfs/exports.c: added {no_,}subtree_check and changed crossmnt to nohide * utils/exportfs/exports.man: added no_subtree_check and nohide and removed irrelevant stuff from unfsd. * support/export/rmtab.c: rmtab_read didn't quite do the right thing if a pathname from rmtab was a subdirectory of an export-point
Diffstat (limited to 'support/nfs/exports.c')
-rw-r--r--support/nfs/exports.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/support/nfs/exports.c b/support/nfs/exports.c
index 21b85be..702df23 100644
--- a/support/nfs/exports.c
+++ b/support/nfs/exports.c
@@ -141,12 +141,16 @@ 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)?
+ "no" : "");
fprintf(fp, "%ssecure,", (ep->e_flags & NFSEXP_INSECURE_PORT)?
"in" : "");
fprintf(fp, "%sroot_squash,", (ep->e_flags & NFSEXP_ROOTSQUASH)?
"" : "no_");
fprintf(fp, "%sall_squash,", (ep->e_flags & NFSEXP_ALLSQUASH)?
"" : "no_");
+ fprintf(fp, "%ssubtree_check,", (ep->e_flags & NFSEXP_NOSUBTREECHECK)?
+ "no_" : "");
fprintf(fp, "mapping=");
switch (ep->e_maptype) {
@@ -281,6 +285,10 @@ parseopts(char *cp, struct exportent *ep)
ep->e_flags &= ~NFSEXP_ASYNC;
else if (!strcmp(opt, "async"))
ep->e_flags |= NFSEXP_ASYNC;
+ else if (!strcmp(opt, "nohide"))
+ ep->e_flags |= NFSEXP_CROSSMNT;
+ else if (!strcmp(opt, "hide"))
+ ep->e_flags &= ~NFSEXP_CROSSMNT;
else if (!strcmp(opt, "wdelay"))
ep->e_flags |= NFSEXP_GATHERED_WRITES;
else if (!strcmp(opt, "no_wdelay"))
@@ -293,6 +301,10 @@ parseopts(char *cp, struct exportent *ep)
ep->e_flags |= NFSEXP_ALLSQUASH;
else if (strcmp(opt, "no_all_squash") == 0)
ep->e_flags &= ~NFSEXP_ALLSQUASH;
+ else if (strcmp(opt, "subtree_check") == 0)
+ ep->e_flags &= ~NFSEXP_NOSUBTREECHECK;
+ else if (strcmp(opt, "no_subtree_check") == 0)
+ ep->e_flags |= NFSEXP_NOSUBTREECHECK;
else if (strncmp(opt, "mapping=", 8) == 0)
ep->e_maptype = parsemaptype(opt+8);
else if (strcmp(opt, "map_identity") == 0) /* old style */