Public bug reported: Hello, I'm trying to create a new zfs pool using the special allocation vdevs and I get an error message that doesn't make sense to me:
cannot create 'newsrv': invalid 'special_small_blocks=262144' property: must be zero or a power of 2 from 512B to 128K $ echo "2 ^ 18" | bc -lq 262144 But the manpage says this number may be up to one megabyte: sarnold@wopr:~ $ PAGER=cat MANWIDTH=70 man -7 --nh --nj zfsprops 2> /dev/null | grep -A8 special_small_blocks 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 assigned 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 default size is 0 which means no small file blocks will be allocated in the special class. Here is a small demonstration: sarnold@wopr:/tmp $ truncate -s 200MB disk1 sarnold@wopr:/tmp $ truncate -s 200MB disk2 sarnold@wopr:/tmp $ sudo zpool create -O recordsize=1MB -O special_small_blocks=256KB test /tmp/disk1 special /tmp/disk2 cannot create 'test': invalid 'special_small_blocks=262144' property: must be zero or a power of 2 from 512B to 128K sarnold@wopr:/tmp 1 $ sudo zpool create -O recordsize=1MB -O special_small_blocks=128KB test /tmp/disk1 special /tmp/disk2 sarnold@wopr:/tmp $ zpool status test pool: test state: ONLINE config: NAME STATE READ WRITE CKSUM test ONLINE 0 0 0 /tmp/disk1 ONLINE 0 0 0 special /tmp/disk2 ONLINE 0 0 0 errors: No known data errors sarnold@wopr:/tmp $ sudo zpool destroy test sarnold@wopr:/tmp $ And now the actual command I tried: sarnold@wopr:~ $ sudo zpool create -f -O atime=off -O checksum=skein -O compression=zstd-3 -O dedup=skein -O recordsize=1MB -O special_small_blocks=256KB -O xattr=sa newsrv mirror /dev/disk/by-id/ata-WDC_WUH721414ALE604_9RKGP7NC /dev/disk/by-id/ata-WDC_WUH721414ALE604_Z2K012NT mirror /dev/disk/by-id/ata-WDC_WUH721414ALE604_Z2KH01NT /dev/disk/by-id/ata-WDC_WUH721414ALE604_Z2KHG12T special /dev/disk/by-id/ata-Samsung_SSD_870_EVO_4TB_S6PJNS0W312010E /dev/disk/by-id/ata-Samsung_SSD_870_EVO_4TB_S6PJNS0W312031Z /dev/disk/by-id/ata-Samsung_SSD_870_EVO_4TB_S6PJNS0W312033K /dev/disk/by-id/ata-Samsung_SSD_870_EVO_4TB_S6PJNS0W312101T cannot create 'newsrv': invalid 'special_small_blocks=262144' property: must be zero or a power of 2 from 512B to 128K Thanks ProblemType: Bug DistroRelease: Ubuntu 22.04 Package: zfsutils-linux 2.1.5-1ubuntu6~22.04.1 ProcVersionSignature: Ubuntu 5.15.0-70.77-generic 5.15.92 Uname: Linux 5.15.0-70-generic x86_64 NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair ApportVersion: 2.20.11-0ubuntu82.5 Architecture: amd64 CasperMD5CheckResult: unknown Date: Tue Jul 11 21:27:05 2023 InstallationDate: Installed on 2016-04-04 (2655 days ago) InstallationMedia: Ubuntu-Server 16.04 LTS "Xenial Xerus" - Beta amd64 (20160325) RebootRequiredPkgs: Error: path contained symlinks. SourcePackage: zfs-linux UpgradeStatus: Upgraded to jammy on 2022-08-14 (331 days ago) modified.conffile..etc.sudoers.d.zfs: [inaccessible: [Errno 13] Permission denied: '/etc/sudoers.d/zfs'] ** Affects: zfs-linux (Ubuntu) Importance: Undecided Status: New ** Tags: amd64 apport-bug jammy ** Description changed: Hello, I'm trying to create a new zfs pool using the special allocation vdevs and I get an error message that doesn't make sense to me: cannot create 'newsrv': invalid 'special_small_blocks=262144' property: must be zero or a power of 2 from 512B to 128K $ echo "2 ^ 18" | bc -lq 262144 + But the manpage says this number may be up to one megabyte: + + sarnold@wopr:~ $ PAGER=cat MANWIDTH=70 man -7 --nh --nj zfsprops 2> /dev/null | grep -A8 special_small_blocks + 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 assigned 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 default size is 0 which + means no small file blocks will be allocated in the special + class. + Here is a small demonstration: sarnold@wopr:/tmp $ sudo zpool create -O recordsize=1MB -O special_small_blocks=256KB test /tmp/disk1 special /tmp/disk2 cannot create 'test': invalid 'special_small_blocks=262144' property: must be zero or a power of 2 from 512B to 128K sarnold@wopr:/tmp 1 $ sudo zpool create -O recordsize=1MB -O special_small_blocks=128KB test /tmp/disk1 special /tmp/disk2 sarnold@wopr:/tmp $ zpool status test - pool: test - state: ONLINE + pool: test + state: ONLINE config: - NAME STATE READ WRITE CKSUM - test ONLINE 0 0 0 - /tmp/disk1 ONLINE 0 0 0 - special - /tmp/disk2 ONLINE 0 0 0 + NAME STATE READ WRITE CKSUM + test ONLINE 0 0 0 + /tmp/disk1 ONLINE 0 0 0 + special + /tmp/disk2 ONLINE 0 0 0 errors: No known data errors sarnold@wopr:/tmp $ sudo zpool destroy test - sarnold@wopr:/tmp $ - + sarnold@wopr:/tmp $ And now the actual command I tried: sarnold@wopr:~ $ sudo zpool create -f -O atime=off -O checksum=skein -O compression=zstd-3 -O dedup=skein -O recordsize=1MB -O special_small_blocks=256KB -O xattr=sa newsrv mirror /dev/disk/by-id/ata-WDC_WUH721414ALE604_9RKGP7NC /dev/disk/by-id/ata-WDC_WUH721414ALE604_Z2K012NT mirror /dev/disk/by-id/ata-WDC_WUH721414ALE604_Z2KH01NT /dev/disk/by-id/ata-WDC_WUH721414ALE604_Z2KHG12T special /dev/disk/by-id/ata-Samsung_SSD_870_EVO_4TB_S6PJNS0W312010E /dev/disk/by-id/ata-Samsung_SSD_870_EVO_4TB_S6PJNS0W312031Z /dev/disk/by-id/ata-Samsung_SSD_870_EVO_4TB_S6PJNS0W312033K /dev/disk/by-id/ata-Samsung_SSD_870_EVO_4TB_S6PJNS0W312101T cannot create 'newsrv': invalid 'special_small_blocks=262144' property: must be zero or a power of 2 from 512B to 128K - Thanks ProblemType: Bug DistroRelease: Ubuntu 22.04 Package: zfsutils-linux 2.1.5-1ubuntu6~22.04.1 ProcVersionSignature: Ubuntu 5.15.0-70.77-generic 5.15.92 Uname: Linux 5.15.0-70-generic x86_64 NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair ApportVersion: 2.20.11-0ubuntu82.5 Architecture: amd64 CasperMD5CheckResult: unknown Date: Tue Jul 11 21:27:05 2023 InstallationDate: Installed on 2016-04-04 (2655 days ago) InstallationMedia: Ubuntu-Server 16.04 LTS "Xenial Xerus" - Beta amd64 (20160325) RebootRequiredPkgs: Error: path contained symlinks. SourcePackage: zfs-linux UpgradeStatus: Upgraded to jammy on 2022-08-14 (331 days ago) modified.conffile..etc.sudoers.d.zfs: [inaccessible: [Errno 13] Permission denied: '/etc/sudoers.d/zfs'] ** Description changed: Hello, I'm trying to create a new zfs pool using the special allocation vdevs and I get an error message that doesn't make sense to me: cannot create 'newsrv': invalid 'special_small_blocks=262144' property: must be zero or a power of 2 from 512B to 128K $ echo "2 ^ 18" | bc -lq 262144 But the manpage says this number may be up to one megabyte: - sarnold@wopr:~ $ PAGER=cat MANWIDTH=70 man -7 --nh --nj zfsprops 2> /dev/null | grep -A8 special_small_blocks - 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 assigned 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 default size is 0 which - means no small file blocks will be allocated in the special - class. - + sarnold@wopr:~ $ PAGER=cat MANWIDTH=70 man -7 --nh --nj zfsprops 2> /dev/null | grep -A8 special_small_blocks + 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 assigned 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 default size is 0 which + means no small file blocks will be allocated in the special + class. Here is a small demonstration: + sarnold@wopr:/tmp $ truncate -s 200MB disk1 + sarnold@wopr:/tmp $ truncate -s 200MB disk2 sarnold@wopr:/tmp $ sudo zpool create -O recordsize=1MB -O special_small_blocks=256KB test /tmp/disk1 special /tmp/disk2 cannot create 'test': invalid 'special_small_blocks=262144' property: must be zero or a power of 2 from 512B to 128K sarnold@wopr:/tmp 1 $ sudo zpool create -O recordsize=1MB -O special_small_blocks=128KB test /tmp/disk1 special /tmp/disk2 sarnold@wopr:/tmp $ zpool status test pool: test state: ONLINE config: NAME STATE READ WRITE CKSUM test ONLINE 0 0 0 /tmp/disk1 ONLINE 0 0 0 special /tmp/disk2 ONLINE 0 0 0 errors: No known data errors sarnold@wopr:/tmp $ sudo zpool destroy test sarnold@wopr:/tmp $ And now the actual command I tried: sarnold@wopr:~ $ sudo zpool create -f -O atime=off -O checksum=skein -O compression=zstd-3 -O dedup=skein -O recordsize=1MB -O special_small_blocks=256KB -O xattr=sa newsrv mirror /dev/disk/by-id/ata-WDC_WUH721414ALE604_9RKGP7NC /dev/disk/by-id/ata-WDC_WUH721414ALE604_Z2K012NT mirror /dev/disk/by-id/ata-WDC_WUH721414ALE604_Z2KH01NT /dev/disk/by-id/ata-WDC_WUH721414ALE604_Z2KHG12T special /dev/disk/by-id/ata-Samsung_SSD_870_EVO_4TB_S6PJNS0W312010E /dev/disk/by-id/ata-Samsung_SSD_870_EVO_4TB_S6PJNS0W312031Z /dev/disk/by-id/ata-Samsung_SSD_870_EVO_4TB_S6PJNS0W312033K /dev/disk/by-id/ata-Samsung_SSD_870_EVO_4TB_S6PJNS0W312101T cannot create 'newsrv': invalid 'special_small_blocks=262144' property: must be zero or a power of 2 from 512B to 128K Thanks ProblemType: Bug DistroRelease: Ubuntu 22.04 Package: zfsutils-linux 2.1.5-1ubuntu6~22.04.1 ProcVersionSignature: Ubuntu 5.15.0-70.77-generic 5.15.92 Uname: Linux 5.15.0-70-generic x86_64 NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair ApportVersion: 2.20.11-0ubuntu82.5 Architecture: amd64 CasperMD5CheckResult: unknown Date: Tue Jul 11 21:27:05 2023 InstallationDate: Installed on 2016-04-04 (2655 days ago) InstallationMedia: Ubuntu-Server 16.04 LTS "Xenial Xerus" - Beta amd64 (20160325) RebootRequiredPkgs: Error: path contained symlinks. SourcePackage: zfs-linux UpgradeStatus: Upgraded to jammy on 2022-08-14 (331 days ago) modified.conffile..etc.sudoers.d.zfs: [inaccessible: [Errno 13] Permission denied: '/etc/sudoers.d/zfs'] -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to zfs-linux in Ubuntu. https://bugs.launchpad.net/bugs/2027535 Title: unexpected error message: invalid 'special_small_blocks=262144' property: must be zero or a power of 2 from 512B to 128K Status in zfs-linux package in Ubuntu: New Bug description: Hello, I'm trying to create a new zfs pool using the special allocation vdevs and I get an error message that doesn't make sense to me: cannot create 'newsrv': invalid 'special_small_blocks=262144' property: must be zero or a power of 2 from 512B to 128K $ echo "2 ^ 18" | bc -lq 262144 But the manpage says this number may be up to one megabyte: sarnold@wopr:~ $ PAGER=cat MANWIDTH=70 man -7 --nh --nj zfsprops 2> /dev/null | grep -A8 special_small_blocks 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 assigned 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 default size is 0 which means no small file blocks will be allocated in the special class. Here is a small demonstration: sarnold@wopr:/tmp $ truncate -s 200MB disk1 sarnold@wopr:/tmp $ truncate -s 200MB disk2 sarnold@wopr:/tmp $ sudo zpool create -O recordsize=1MB -O special_small_blocks=256KB test /tmp/disk1 special /tmp/disk2 cannot create 'test': invalid 'special_small_blocks=262144' property: must be zero or a power of 2 from 512B to 128K sarnold@wopr:/tmp 1 $ sudo zpool create -O recordsize=1MB -O special_small_blocks=128KB test /tmp/disk1 special /tmp/disk2 sarnold@wopr:/tmp $ zpool status test pool: test state: ONLINE config: NAME STATE READ WRITE CKSUM test ONLINE 0 0 0 /tmp/disk1 ONLINE 0 0 0 special /tmp/disk2 ONLINE 0 0 0 errors: No known data errors sarnold@wopr:/tmp $ sudo zpool destroy test sarnold@wopr:/tmp $ And now the actual command I tried: sarnold@wopr:~ $ sudo zpool create -f -O atime=off -O checksum=skein -O compression=zstd-3 -O dedup=skein -O recordsize=1MB -O special_small_blocks=256KB -O xattr=sa newsrv mirror /dev/disk/by-id/ata-WDC_WUH721414ALE604_9RKGP7NC /dev/disk/by-id/ata-WDC_WUH721414ALE604_Z2K012NT mirror /dev/disk/by-id/ata-WDC_WUH721414ALE604_Z2KH01NT /dev/disk/by-id/ata-WDC_WUH721414ALE604_Z2KHG12T special /dev/disk/by-id/ata-Samsung_SSD_870_EVO_4TB_S6PJNS0W312010E /dev/disk/by-id/ata-Samsung_SSD_870_EVO_4TB_S6PJNS0W312031Z /dev/disk/by-id/ata-Samsung_SSD_870_EVO_4TB_S6PJNS0W312033K /dev/disk/by-id/ata-Samsung_SSD_870_EVO_4TB_S6PJNS0W312101T cannot create 'newsrv': invalid 'special_small_blocks=262144' property: must be zero or a power of 2 from 512B to 128K Thanks ProblemType: Bug DistroRelease: Ubuntu 22.04 Package: zfsutils-linux 2.1.5-1ubuntu6~22.04.1 ProcVersionSignature: Ubuntu 5.15.0-70.77-generic 5.15.92 Uname: Linux 5.15.0-70-generic x86_64 NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair ApportVersion: 2.20.11-0ubuntu82.5 Architecture: amd64 CasperMD5CheckResult: unknown Date: Tue Jul 11 21:27:05 2023 InstallationDate: Installed on 2016-04-04 (2655 days ago) InstallationMedia: Ubuntu-Server 16.04 LTS "Xenial Xerus" - Beta amd64 (20160325) RebootRequiredPkgs: Error: path contained symlinks. SourcePackage: zfs-linux UpgradeStatus: Upgraded to jammy on 2022-08-14 (331 days ago) modified.conffile..etc.sudoers.d.zfs: [inaccessible: [Errno 13] Permission denied: '/etc/sudoers.d/zfs'] To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/zfs-linux/+bug/2027535/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp