mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-25 10:49:34 +03:00
xattr dataset prop: change defaults to sa
It's the main recommendation to set xattr=sa even in man pages, so let's set it by default. xattr=sa don't use feature flag, so in the worst case we'll have non-readable xattrs by other non-openzfs platforms. Non-overridden default `xattr` prop of existing pools will automatically use `sa` after this commit too. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: George Melikov <mail@gmelikov.ru> Closes #15147
This commit is contained in:
parent
1d84c9eb66
commit
e419a63bf4
@ -1971,14 +1971,13 @@ enabled for virus scanning to occur.
|
||||
The default value is
|
||||
.Sy off .
|
||||
This property is not used by OpenZFS.
|
||||
.It Sy xattr Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Sy sa
|
||||
.It Sy xattr Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Sy dir Ns | Ns Sy sa
|
||||
Controls whether extended attributes are enabled for this file system.
|
||||
Two styles of extended attributes are supported: either directory-based
|
||||
or system-attribute-based.
|
||||
.Pp
|
||||
The default value of
|
||||
.Sy on
|
||||
enables directory-based extended attributes.
|
||||
Directory-based extended attributes can be enabled by setting the value to
|
||||
.Sy dir .
|
||||
This style of extended attribute imposes no practical limit
|
||||
on either the size or number of attributes which can be set on a file.
|
||||
Although under Linux the
|
||||
@ -1991,7 +1990,10 @@ This is the most compatible
|
||||
style of extended attribute and is supported by all ZFS implementations.
|
||||
.Pp
|
||||
System-attribute-based xattrs can be enabled by setting the value to
|
||||
.Sy sa .
|
||||
.Sy sa
|
||||
(default and equal to
|
||||
.Sy on
|
||||
) .
|
||||
The key advantage of this type of xattr is improved performance.
|
||||
Storing extended attributes as system attributes
|
||||
significantly decreases the amount of disk I/O required.
|
||||
|
@ -164,7 +164,7 @@ zfsvfs_parse_option(char *option, int token, substring_t *args, vfs_t *vfsp)
|
||||
vfsp->vfs_do_xattr = B_TRUE;
|
||||
break;
|
||||
case TOKEN_XATTR:
|
||||
vfsp->vfs_xattr = ZFS_XATTR_DIR;
|
||||
vfsp->vfs_xattr = ZFS_XATTR_SA;
|
||||
vfsp->vfs_do_xattr = B_TRUE;
|
||||
break;
|
||||
case TOKEN_NOXATTR:
|
||||
|
@ -362,7 +362,7 @@ zfs_prop_init(void)
|
||||
|
||||
static const zprop_index_t xattr_table[] = {
|
||||
{ "off", ZFS_XATTR_OFF },
|
||||
{ "on", ZFS_XATTR_DIR },
|
||||
{ "on", ZFS_XATTR_SA },
|
||||
{ "sa", ZFS_XATTR_SA },
|
||||
{ "dir", ZFS_XATTR_DIR },
|
||||
{ NULL }
|
||||
@ -475,7 +475,7 @@ zfs_prop_init(void)
|
||||
zprop_register_index(ZFS_PROP_LOGBIAS, "logbias", ZFS_LOGBIAS_LATENCY,
|
||||
PROP_INHERIT, ZFS_TYPE_FILESYSTEM | ZFS_TYPE_VOLUME,
|
||||
"latency | throughput", "LOGBIAS", logbias_table, sfeatures);
|
||||
zprop_register_index(ZFS_PROP_XATTR, "xattr", ZFS_XATTR_DIR,
|
||||
zprop_register_index(ZFS_PROP_XATTR, "xattr", ZFS_XATTR_SA,
|
||||
PROP_INHERIT, ZFS_TYPE_FILESYSTEM | ZFS_TYPE_SNAPSHOT,
|
||||
"on | off | dir | sa", "XATTR", xattr_table, sfeatures);
|
||||
zprop_register_index(ZFS_PROP_DNODESIZE, "dnodesize",
|
||||
|
@ -59,7 +59,7 @@ log_onexit cleanup
|
||||
|
||||
log_assert "Check changing project ID with directory-based extended attributes"
|
||||
|
||||
log_must zfs set xattr=on $QFS
|
||||
log_must zfs set xattr=dir $QFS
|
||||
|
||||
log_must touch $PRJGUARD
|
||||
log_must chattr -p $PRJID1 $PRJGUARD
|
||||
@ -76,6 +76,6 @@ sync_pool
|
||||
typeset prj_aft=$(project_obj_count $QFS $PRJID1)
|
||||
|
||||
[[ $prj_aft -ge $((prj_bef + 5)) ]] ||
|
||||
log_fail "new value ($prj_aft) is NOT 5 largr than old one ($prj_bef)"
|
||||
log_fail "new value ($prj_aft) is NOT 5 larger than old one ($prj_bef)"
|
||||
|
||||
log_pass "Changing project ID with directory-based extended attributes pass"
|
||||
|
@ -52,7 +52,7 @@ function cleanup {
|
||||
fi
|
||||
}
|
||||
|
||||
set -A args "on" "sa"
|
||||
set -A args "dir" "sa"
|
||||
|
||||
log_assert "Create/read/write/append of xattrs works"
|
||||
log_onexit cleanup
|
||||
|
@ -46,7 +46,7 @@ function cleanup {
|
||||
|
||||
}
|
||||
|
||||
set -A args "on" "sa"
|
||||
set -A args "dir" "sa"
|
||||
|
||||
log_assert "A read of a non-existent xattr fails"
|
||||
log_onexit cleanup
|
||||
|
Loading…
Reference in New Issue
Block a user