Advertise support for large xattrs on TrueNAS
SB_LARGEXATTR is used in TrueNAS SCALE to indicate to the kernel that the filesystem supports large-size xattrs (greater than 64KiB). This flag is used to evaluate whether to allow large xattr read or write requests (up to 2 MiB). Signed-off-by: Andrew Walker <awalker@ixsystems.com>
This commit is contained in:
parent
fd0406e5b3
commit
6343ecfcfe
|
@ -336,9 +336,15 @@ xattr_changed_cb(void *arg, uint64_t newval)
|
||||||
zfsvfs_t *zfsvfs = arg;
|
zfsvfs_t *zfsvfs = arg;
|
||||||
|
|
||||||
if (newval == ZFS_XATTR_OFF) {
|
if (newval == ZFS_XATTR_OFF) {
|
||||||
|
#ifdef SB_LARGEXATTR
|
||||||
|
zfsvfs->z_sb->s_flags &= ~SB_LARGEXATTR;
|
||||||
|
#endif
|
||||||
zfsvfs->z_flags &= ~ZSB_XATTR;
|
zfsvfs->z_flags &= ~ZSB_XATTR;
|
||||||
} else {
|
} else {
|
||||||
zfsvfs->z_flags |= ZSB_XATTR;
|
zfsvfs->z_flags |= ZSB_XATTR;
|
||||||
|
#ifdef SB_LARGEXATTR
|
||||||
|
zfsvfs->z_sb->s_flags |= SB_LARGEXATTR;
|
||||||
|
#endif
|
||||||
|
|
||||||
if (newval == ZFS_XATTR_SA)
|
if (newval == ZFS_XATTR_SA)
|
||||||
zfsvfs->z_xattr_sa = B_TRUE;
|
zfsvfs->z_xattr_sa = B_TRUE;
|
||||||
|
|
Loading…
Reference in New Issue