summaryrefslogtreecommitdiffstats
path: root/utils/exportfs/exportfs.c
diff options
context:
space:
mode:
authorneilbrown <neilbrown>2003-05-30 05:16:52 +0000
committerneilbrown <neilbrown>2003-05-30 05:16:52 +0000
commitd38ea02d0e4bcdc4e0114567028596f7bcba45b9 (patch)
treea464ad88e48a90c4efa48fd4caefc843caa88d05 /utils/exportfs/exportfs.c
parent936ecbb5750e0e29b9e2464998a8e03eca617b72 (diff)
downloadnfs-utils-d38ea02d0e4bcdc4e0114567028596f7bcba45b9.tar.gz
nfs-utils-d38ea02d0e4bcdc4e0114567028596f7bcba45b9.tar.xz
nfs-utils-d38ea02d0e4bcdc4e0114567028596f7bcba45b9.zip
new "mountpoint" export option.
Diffstat (limited to 'utils/exportfs/exportfs.c')
-rw-r--r--utils/exportfs/exportfs.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/utils/exportfs/exportfs.c b/utils/exportfs/exportfs.c
index 936dff5..bd48e98 100644
--- a/utils/exportfs/exportfs.c
+++ b/utils/exportfs/exportfs.c
@@ -147,6 +147,16 @@ exports_update(int verbose)
nfs_export *exp;
for (exp = exportlist[MCL_FQDN]; exp; exp=exp->m_next) {
+ /* check mountpoint option */
+ if (exp->m_mayexport &&
+ exp->m_export.e_mountpoint &&
+ !is_mountpoint(exp->m_export.e_mountpoint[0]?
+ exp->m_export.e_mountpoint:
+ exp->m_export.e_path)) {
+ printf("%s not exported as %s not a mountpoint.\n",
+ exp->m_export.e_path, exp->m_export.e_mountpoint);
+ exp->m_mayexport = 0;
+ }
if (exp->m_mayexport && ((exp->m_exported<1) || exp->m_changed)) {
if (verbose)
printf("%sexporting %s:%s to kernel\n",
@@ -366,6 +376,10 @@ dump(int verbose)
c = dumpopt(c, "insecure_locks");
if (ep->e_flags & NFSEXP_FSID)
c = dumpopt(c, "fsid=%d", ep->e_fsid);
+ if (ep->e_mountpoint)
+ c = dumpopt(c, "mountpoint%s%s",
+ ep->e_mountpoint[0]?"=":"",
+ ep->e_mountpoint);
if (ep->e_maptype == CLE_MAP_UGIDD)
c = dumpopt(c, "mapping=ugidd");
else if (ep->e_maptype == CLE_MAP_FILE)