aboutsummaryrefslogtreecommitdiff
path: root/sys/contrib/openzfs/lib
diff options
context:
space:
mode:
authorMartin Matuska <mm@FreeBSD.org>2023-11-01 09:12:47 +0000
committerMartin Matuska <mm@FreeBSD.org>2023-11-01 09:13:42 +0000
commitf8b1db88b827cf24ae14c55a2e762313f0f9911c (patch)
tree223057629d5f001ba812822018d3afe8dada8db2 /sys/contrib/openzfs/lib
parent0c5cd045bfb847428a8a5e0e91e6fc3cf27a17c2 (diff)
parent41e55b476bcfc90f1ad81c02c5375367fdace9e9 (diff)
Diffstat (limited to 'sys/contrib/openzfs/lib')
-rw-r--r--sys/contrib/openzfs/lib/libshare/os/linux/nfs.c18
-rw-r--r--sys/contrib/openzfs/lib/libzfs/libzfs.abi3
2 files changed, 20 insertions, 1 deletions
diff --git a/sys/contrib/openzfs/lib/libshare/os/linux/nfs.c b/sys/contrib/openzfs/lib/libshare/os/linux/nfs.c
index 004946b0cfe4..3dce818400fc 100644
--- a/sys/contrib/openzfs/lib/libshare/os/linux/nfs.c
+++ b/sys/contrib/openzfs/lib/libshare/os/linux/nfs.c
@@ -47,6 +47,7 @@
static boolean_t nfs_available(void);
+static boolean_t exports_available(void);
typedef int (*nfs_shareopt_callback_t)(const char *opt, const char *value,
void *cookie);
@@ -539,6 +540,8 @@ nfs_commit_shares(void)
static void
nfs_truncate_shares(void)
{
+ if (!exports_available())
+ return;
nfs_reset_shares(ZFS_EXPORTS_LOCK, ZFS_EXPORTS_FILE);
}
@@ -566,3 +569,18 @@ nfs_available(void)
return (avail == 1);
}
+
+static boolean_t
+exports_available(void)
+{
+ static int avail;
+
+ if (!avail) {
+ if (access(ZFS_EXPORTS_DIR, F_OK) != 0)
+ avail = -1;
+ else
+ avail = 1;
+ }
+
+ return (avail == 1);
+}
diff --git a/sys/contrib/openzfs/lib/libzfs/libzfs.abi b/sys/contrib/openzfs/lib/libzfs/libzfs.abi
index 083c27be7d31..f8b0d395161b 100644
--- a/sys/contrib/openzfs/lib/libzfs/libzfs.abi
+++ b/sys/contrib/openzfs/lib/libzfs/libzfs.abi
@@ -1868,7 +1868,8 @@
<enumerator name='ZFS_PROP_REDACT_SNAPS' value='94'/>
<enumerator name='ZFS_PROP_SNAPSHOTS_CHANGED' value='95'/>
<enumerator name='ZFS_PROP_PREFETCH' value='96'/>
- <enumerator name='ZFS_NUM_PROPS' value='97'/>
+ <enumerator name='ZFS_PROP_VOLTHREADING' value='97'/>
+ <enumerator name='ZFS_NUM_PROPS' value='98'/>
</enum-decl>
<typedef-decl name='zfs_prop_t' type-id='4b000d60' id='58603c44'/>
<enum-decl name='zprop_source_t' naming-typedef-id='a2256d42' id='5903f80e'>