summaryrefslogtreecommitdiff
path: root/usr/src/lib/libshare/nfs
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/libshare/nfs')
-rw-r--r--usr/src/lib/libshare/nfs/libshare_nfs.c12
-rw-r--r--usr/src/lib/libshare/nfs/libshare_nfs.h1
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