diff options
Diffstat (limited to 'usr/src/lib/libshare/nfs')
| -rw-r--r-- | usr/src/lib/libshare/nfs/libshare_nfs.c | 12 | ||||
| -rw-r--r-- | usr/src/lib/libshare/nfs/libshare_nfs.h | 1 |
2 files changed, 12 insertions, 1 deletions
diff --git a/usr/src/lib/libshare/nfs/libshare_nfs.c b/usr/src/lib/libshare/nfs/libshare_nfs.c index f8f8ff0710..d5fc9fbbfc 100644 --- a/usr/src/lib/libshare/nfs/libshare_nfs.c +++ b/usr/src/lib/libshare/nfs/libshare_nfs.c @@ -175,8 +175,10 @@ struct option_defs optdefs[] = { {SHOPT_UIDMAP, OPT_UIDMAP, OPT_TYPE_MAPPING}, #define OPT_GIDMAP 19 {SHOPT_GIDMAP, OPT_GIDMAP, OPT_TYPE_MAPPING}, +#define OPT_NOHIDE 20 + {SHOPT_NOHIDE, OPT_NOHIDE, OPT_TYPE_BOOLEAN}, #ifdef VOLATILE_FH_TEST /* XXX added for testing volatile fh's only */ -#define OPT_VOLFH 20 +#define OPT_VOLFH 21 {SHOPT_VOLFH, OPT_VOLFH}, #endif /* VOLATILE_FH_TEST */ NULL @@ -1028,6 +1030,14 @@ fill_export_from_optionset(struct exportdata *export, sa_optionset_t optionset) else export->ex_flags &= ~EX_NOACLFAB; break; + case OPT_NOHIDE: + if (value != NULL && (strcasecmp(value, "true") == 0 || + strcmp(value, "1") == 0)) + export->ex_flags |= EX_NOHIDE; + else + export->ex_flags &= ~EX_NOHIDE; + + break; default: /* have a syntactic error */ (void) printf(dgettext(TEXT_DOMAIN, diff --git a/usr/src/lib/libshare/nfs/libshare_nfs.h b/usr/src/lib/libshare/nfs/libshare_nfs.h index ac608f2b52..4a0660407e 100644 --- a/usr/src/lib/libshare/nfs/libshare_nfs.h +++ b/usr/src/lib/libshare/nfs/libshare_nfs.h @@ -56,6 +56,7 @@ extern "C" { #define SHOPT_NOACLFAB "noaclfab" #define SHOPT_UIDMAP "uidmap" #define SHOPT_GIDMAP "gidmap" +#define SHOPT_NOHIDE "nohide" /* * defined options types. These should be in a file rather than |
