diff options
author | Jason King <[email protected]> | 2020-02-14 15:41:42 -0600 |
---|---|---|
committer | GitHub <[email protected]> | 2020-02-14 13:41:42 -0800 |
commit | 13b5a4d5c018f94d04efefcec6205aa73205e05f (patch) | |
tree | 8cc7dce83989cd6bceac7735344c651e1b9919c1 /include | |
parent | 4fe3a842bb53e7cebcdcd69deae758ccfb0660e9 (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.am | 1 | ||||
-rw-r--r-- | include/sys/zcp_set.h | 44 |
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 */ |