aboutsummaryrefslogtreecommitdiffstats
path: root/include/os/freebsd
diff options
context:
space:
mode:
authorRyan Moeller <[email protected]>2020-10-14 00:25:48 -0400
committerGitHub <[email protected]>2020-10-13 21:25:48 -0700
commit485b50bb9e6772240af32fba434ddb8ebfa8cede (patch)
tree32c66cae383645c41bcf43ecc6345af532a1b5a7 /include/os/freebsd
parentb302185a9283fa93ce98d17ca9893437753ec665 (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/os/freebsd')
-rw-r--r--include/os/freebsd/zfs/sys/zfs_vfsops_os.h1
1 files changed, 1 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 */