aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorRyan Moeller <[email protected]>2020-10-14 00:25:48 -0400
committerBrian Behlendorf <[email protected]>2020-10-16 13:05:00 -0700
commit725c9e22ca369bb51050b823f0228b847c322678 (patch)
tree183d28f7dbb3c78ee0e70e1763426bd9e7e70569 /include
parentfbfc7e843adbd5139e255b56691eb17f286446cd (diff)
Cross-platform acltype
The acltype property is currently hidden on FreeBSD and does not reflect the NFSv4 style ZFS ACLs used on the platform. This makes it difficult to observe that a pool imported from FreeBSD on Linux has a different type of ACL that is being ignored, and vice versa. Add an nfsv4 acltype and expose the property on FreeBSD. Make the default acltype nfsv4 on FreeBSD. Setting acltype to an unhanded style is treated the same as setting it to off. The ACLs will not be removed, but they will be ignored. Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Ryan Moeller <[email protected]> Closes #10520
Diffstat (limited to 'include')
-rw-r--r--include/os/freebsd/zfs/sys/zfs_vfsops_os.h1
-rw-r--r--include/sys/zfs_ioctl.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/include/os/freebsd/zfs/sys/zfs_vfsops_os.h b/include/os/freebsd/zfs/sys/zfs_vfsops_os.h
index e816e3933..c7f464d03 100644
--- a/include/os/freebsd/zfs/sys/zfs_vfsops_os.h
+++ b/include/os/freebsd/zfs/sys/zfs_vfsops_os.h
@@ -72,6 +72,7 @@ struct zfsvfs {
boolean_t z_fuid_dirty; /* need to sync fuid table ? */
struct zfs_fuid_info *z_fuid_replay; /* fuid info for replay */
zilog_t *z_log; /* intent log pointer */
+ uint_t z_acl_type; /* type of acl usable on this fs */
uint_t z_acl_mode; /* acl chmod/mode behavior */
uint_t z_acl_inherit; /* acl inheritance behavior */
zfs_case_t z_case; /* case-sense */
diff --git a/include/sys/zfs_ioctl.h b/include/sys/zfs_ioctl.h
index 53629cfc2..afae576ea 100644
--- a/include/sys/zfs_ioctl.h
+++ b/include/sys/zfs_ioctl.h
@@ -68,6 +68,7 @@ extern "C" {
*/
#define ZFS_ACLTYPE_OFF 0
#define ZFS_ACLTYPE_POSIX 1
+#define ZFS_ACLTYPE_NFSV4 2
/*
* Field manipulation macros for the drr_versioninfo field of the