]> git.proxmox.com Git - mirror_zfs.git/commit
FreeBSD: Implement xattr=sa
authorRyan Moeller <ryan@iXsystems.com>
Thu, 29 Apr 2021 03:27:57 +0000 (03:27 +0000)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 13 May 2021 22:14:12 +0000 (15:14 -0700)
commit210231ede0ecef5aa2c49db0366742bafaecde2c
tree41aa4262cd23af358e61f67291b7a1f9dbd9c1df
parentd86debf5762c0d18574af67407f4c99fd9aaec3a
FreeBSD: Implement xattr=sa

FreeBSD historically has not cared about the xattr property; it was
always treated as xattr=on.  With xattr=on, xattrs are stored as files
in a hidden xattr directory.  With xattr=sa, xattrs are stored as
system attributes and get cached in nvlists during xattr operations.
This makes SA xattrs simpler and more efficient to manipulate.  FreeBSD
needs to implement the SA xattr operations for feature parity with
Linux and to ensure that SA xattrs are accessible when migrated or
replicated from Linux.

Following the example set by Linux, refactor our existing extattr vnops
to split off the parts handling dir style xattrs, and add the
corresponding SA handling parts.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Signed-off-by: Ryan Moeller <ryan@iXsystems.com>
Closes #11997
man/man8/zfsprops.8
module/os/freebsd/zfs/zfs_vfsops.c
module/os/freebsd/zfs/zfs_vnops_os.c
module/os/freebsd/zfs/zfs_znode.c