aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJason King <[email protected]>2020-02-14 15:41:42 -0600
committerGitHub <[email protected]>2020-02-14 13:41:42 -0800
commit13b5a4d5c018f94d04efefcec6205aa73205e05f (patch)
tree8cc7dce83989cd6bceac7735344c651e1b9919c1 /include
parent4fe3a842bb53e7cebcdcd69deae758ccfb0660e9 (diff)
Support setting user properties in a channel program
This adds support for setting user properties in a zfs channel program by adding 'zfs.sync.set_prop' and 'zfs.check.set_prop' to the ZFS LUA API. Reviewed-by: Brian Behlendorf <[email protected]> Reviewed-by: Matt Ahrens <[email protected]> Co-authored-by: Sara Hartse <[email protected]> Contributions-by: Jason King <[email protected]> Signed-off-by: Sara Hartse <[email protected]> Signed-off-by: Jason King <[email protected]> Closes #9950
Diffstat (limited to 'include')
-rw-r--r--include/sys/Makefile.am1
-rw-r--r--include/sys/zcp_set.h44
2 files changed, 45 insertions, 0 deletions
diff --git a/include/sys/Makefile.am b/include/sys/Makefile.am
index 99e38acb2..bcfa12fca 100644
--- a/include/sys/Makefile.am
+++ b/include/sys/Makefile.am
@@ -99,6 +99,7 @@ COMMON_H = \
$(top_srcdir)/include/sys/zcp_global.h \
$(top_srcdir)/include/sys/zcp_iter.h \
$(top_srcdir)/include/sys/zcp_prop.h \
+ $(top_srcdir)/include/sys/zcp_set.h \
$(top_srcdir)/include/sys/zfeature.h \
$(top_srcdir)/include/sys/zfs_acl.h \
$(top_srcdir)/include/sys/zfs_context.h \
diff --git a/include/sys/zcp_set.h b/include/sys/zcp_set.h
new file mode 100644
index 000000000..b7428d6fc
--- /dev/null
+++ b/include/sys/zcp_set.h
@@ -0,0 +1,44 @@
+/*
+ * CDDL HEADER START
+ *
+ * This file and its contents are supplied under the terms of the
+ * Common Development and Distribution License ("CDDL"), version 1.0.
+ * You may only use this file in accordance with the terms of version
+ * 1.0 of the CDDL.
+ *
+ * A full copy of the text of the CDDL should have accompanied this
+ * source. A copy of the CDDL is also available via the Internet at
+ * http://www.illumos.org/license/CDDL.
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright 2019 Joyent, Inc.
+ */
+
+#ifndef _SYS_ZCP_SET_H
+#define _SYS_ZCP_SET_H
+
+#include <sys/dmu_tx.h>
+#include <sys/dsl_pool.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct zcp_set_prop_arg {
+ lua_State *state;
+ const char *dsname;
+ const char *prop;
+ const char *val;
+} zcp_set_prop_arg_t;
+
+int zcp_set_prop_check(void *arg, dmu_tx_t *tx);
+void zcp_set_prop_sync(void *arg, dmu_tx_t *tx);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _SYS_ZCP_SET_H */