Closed
Description
If I understand 624222a correctly, then since ZFS 2.0.0 I should be able to set special_small_blocks to up to 1 MB.
Indeed, on my Debian stable system zfsprops(7) says:
special_small_blocks=size
This value represents the threshold block size for including small file blocks into
the special allocation class. Blocks smaller than or equal to this value will be as‐
signed to the special allocation class while greater blocks will be assigned to the
regular class. Valid values are zero or a power of two from 512B up to 1M. The de‐
fault size is 0 which means no small file blocks will be allocated in the special
class.
However, I'm unable to actually set the value:
$ zpool create -f -R /zpools -o ashift=12 -o autotrim=on -o failmode=continue \
-O acltype=posixacl -O relatime=on -O xattr=sa -O compression=zstd-19 \
-O checksum=sha256 -O sync=disabled -O special_small_blocks=262144 \
-O redundant_metadata=most -O recordsize=524288 -O encryption=on \
-O feature@large_blocks=enabled-O keyformat=passphrase \
-O keylocation=file:///<path> \
memory /dev/nbd2 special /dev/nbd1
cannot create 'memory': invalid 'special_small_blocks=262144' property: must be zero or a power of 2 from 512B to 128K
Version:
$ zpool --version
zfs-2.1.5-1~bpo11+1
zfs-kmod-2.1.5-1~bpo11+1
$ uname -a
Linux vostro.rath.org 5.18.0-0.deb11.3-amd64 #1 SMP PREEMPT_DYNAMIC Debian 5.18.14-1~bpo11+1 (2022-07-28) x86_64 GNU/Linux
What am I doing wrong?