zfs
zfs copied to clipboard
Fragmentation - Wrong Value of 0% reported in
System information
| Type | Version/Name |
|---|---|
| Distribution Name | Ubuntu |
| Distribution Version | 24.04 Noble AMD64 |
| Kernel Version | 6.8.0-40-generic |
| Architecture | AMD64 |
| OpenZFS Version | zfs-2.2.4-1 / zfs-kmod-2.2.4-1 (Build from Source, OpenZFS Package) |
Describe the problem you're observing
zpool get returns a Fragmentation Value of 0% for all VDEVs and their Children.
That's impossible and in contrast with zpool list which returns a value of 47% (on this Desktop System).
Describe how to reproduce the problem
Only Fragmentation VDEV Property:
root@ubuntuworkstation02:/# zpool get fragmentation rpool all-vdevs
NAME PROPERTY VALUE SOURCE
root-0 fragmentation 0% -
mirror-0 fragmentation 0% -
ata-CT1000MX500SSD1_2301E6992CB7_crypt fragmentation 0% -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop fragmentation 0% -
All VDEV Properties:
root@HOST:/# zpool get all rpool all-vdevs
NAME PROPERTY VALUE SOURCE
root-0 capacity 72% -
root-0 state ONLINE -
root-0 guid 15970062859096276313 -
root-0 asize 0 -
root-0 psize 0 -
root-0 ashift 0 -
root-0 size 928G -
root-0 free 254G -
root-0 allocated 674G -
root-0 comment - default
root-0 expandsize - -
root-0 fragmentation 0% -
root-0 bootsize 0 default
root-0 parity 0 -
root-0 path - default
root-0 devid - default
root-0 physpath - default
root-0 encpath - default
root-0 fru - default
root-0 parent - default
root-0 children mirror-0 -
root-0 numchildren 1 -
root-0 read_errors 0 -
root-0 write_errors 0 -
root-0 checksum_errors 0 -
root-0 initialize_errors 0 -
root-0 null_ops 0 -
root-0 read_ops 0 -
root-0 write_ops 0 -
root-0 free_ops 0 -
root-0 claim_ops 0 -
root-0 trim_ops 0 -
root-0 null_bytes 0 -
root-0 read_bytes 0 -
root-0 write_bytes 0 -
root-0 free_bytes 0 -
root-0 claim_bytes 0 -
root-0 trim_bytes 0 -
root-0 removing off -
root-0 allocating on default
root-0 failfast on default
root-0 checksum_n - default
root-0 checksum_t - default
root-0 io_n - default
root-0 io_t - default
root-0 slow_io_n - default
root-0 slow_io_t - default
mirror-0 capacity 72% -
mirror-0 state ONLINE -
mirror-0 guid 5676157474270078696 -
mirror-0 asize 929G -
mirror-0 psize 0 -
mirror-0 ashift 12 -
mirror-0 size 928G -
mirror-0 free 254G -
mirror-0 allocated 674G -
mirror-0 comment - default
mirror-0 expandsize - -
mirror-0 fragmentation 0% -
mirror-0 bootsize 0 default
mirror-0 parity 0 -
mirror-0 path - default
mirror-0 devid - default
mirror-0 physpath - default
mirror-0 encpath - default
mirror-0 fru - default
mirror-0 parent rpool -
mirror-0 children /dev/mapper/ata-CT1000MX500SSD1_2301E6992CB7_crypt,/dev/loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop -
mirror-0 numchildren 2 -
mirror-0 read_errors 0 -
mirror-0 write_errors 0 -
mirror-0 checksum_errors 0 -
mirror-0 initialize_errors 0 -
mirror-0 null_ops 0 -
mirror-0 read_ops 22.0M -
mirror-0 write_ops 13.5M -
mirror-0 free_ops 0 -
mirror-0 claim_ops 0 -
mirror-0 trim_ops 0 -
mirror-0 null_bytes 0 -
mirror-0 read_bytes 2.02T -
mirror-0 write_bytes 750G -
mirror-0 free_bytes 0 -
mirror-0 claim_bytes 0 -
mirror-0 trim_bytes 0 -
mirror-0 removing off -
mirror-0 allocating on default
mirror-0 failfast on default
mirror-0 checksum_n - default
mirror-0 checksum_t - default
mirror-0 io_n - default
mirror-0 io_t - default
mirror-0 slow_io_n - default
mirror-0 slow_io_t - default
ata-CT1000MX500SSD1_2301E6992CB7_crypt capacity 0% -
ata-CT1000MX500SSD1_2301E6992CB7_crypt state ONLINE -
ata-CT1000MX500SSD1_2301E6992CB7_crypt guid 15589981690520513926 -
ata-CT1000MX500SSD1_2301E6992CB7_crypt asize 929G -
ata-CT1000MX500SSD1_2301E6992CB7_crypt psize 929G -
ata-CT1000MX500SSD1_2301E6992CB7_crypt ashift 12 -
ata-CT1000MX500SSD1_2301E6992CB7_crypt size 0 -
ata-CT1000MX500SSD1_2301E6992CB7_crypt free 0 -
ata-CT1000MX500SSD1_2301E6992CB7_crypt allocated 0 -
ata-CT1000MX500SSD1_2301E6992CB7_crypt comment - default
ata-CT1000MX500SSD1_2301E6992CB7_crypt expandsize - -
ata-CT1000MX500SSD1_2301E6992CB7_crypt fragmentation 0% -
ata-CT1000MX500SSD1_2301E6992CB7_crypt bootsize 0 default
ata-CT1000MX500SSD1_2301E6992CB7_crypt parity 0 -
ata-CT1000MX500SSD1_2301E6992CB7_crypt path /dev/mapper/ata-CT1000MX500SSD1_2301E6992CB7_crypt -
ata-CT1000MX500SSD1_2301E6992CB7_crypt devid dm-uuid-CRYPT-LUKS2-b5ed1ef4aecb4404b68229f2a8a253c3-ata-CT1000MX500SSD1_2301E6992CB7_crypt -
ata-CT1000MX500SSD1_2301E6992CB7_crypt physpath /dev/disk/by-uuid/15970062859096276313 -
ata-CT1000MX500SSD1_2301E6992CB7_crypt encpath - default
ata-CT1000MX500SSD1_2301E6992CB7_crypt fru - default
ata-CT1000MX500SSD1_2301E6992CB7_crypt parent mirror-0 -
ata-CT1000MX500SSD1_2301E6992CB7_crypt children - default
ata-CT1000MX500SSD1_2301E6992CB7_crypt numchildren 0 -
ata-CT1000MX500SSD1_2301E6992CB7_crypt read_errors 0 -
ata-CT1000MX500SSD1_2301E6992CB7_crypt write_errors 0 -
ata-CT1000MX500SSD1_2301E6992CB7_crypt checksum_errors 0 -
ata-CT1000MX500SSD1_2301E6992CB7_crypt initialize_errors 0 -
ata-CT1000MX500SSD1_2301E6992CB7_crypt null_ops 0 -
ata-CT1000MX500SSD1_2301E6992CB7_crypt read_ops 15.1M -
ata-CT1000MX500SSD1_2301E6992CB7_crypt write_ops 1018K -
ata-CT1000MX500SSD1_2301E6992CB7_crypt free_ops 0 -
ata-CT1000MX500SSD1_2301E6992CB7_crypt claim_ops 0 -
ata-CT1000MX500SSD1_2301E6992CB7_crypt trim_ops 0 -
ata-CT1000MX500SSD1_2301E6992CB7_crypt null_bytes 0 -
ata-CT1000MX500SSD1_2301E6992CB7_crypt read_bytes 1.35T -
ata-CT1000MX500SSD1_2301E6992CB7_crypt write_bytes 39.4G -
ata-CT1000MX500SSD1_2301E6992CB7_crypt free_bytes 0 -
ata-CT1000MX500SSD1_2301E6992CB7_crypt claim_bytes 0 -
ata-CT1000MX500SSD1_2301E6992CB7_crypt trim_bytes 0 -
ata-CT1000MX500SSD1_2301E6992CB7_crypt removing off -
ata-CT1000MX500SSD1_2301E6992CB7_crypt allocating - -
ata-CT1000MX500SSD1_2301E6992CB7_crypt failfast on default
ata-CT1000MX500SSD1_2301E6992CB7_crypt checksum_n - default
ata-CT1000MX500SSD1_2301E6992CB7_crypt checksum_t - default
ata-CT1000MX500SSD1_2301E6992CB7_crypt io_n - default
ata-CT1000MX500SSD1_2301E6992CB7_crypt io_t - default
ata-CT1000MX500SSD1_2301E6992CB7_crypt slow_io_n - default
ata-CT1000MX500SSD1_2301E6992CB7_crypt slow_io_t - default
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop capacity 0% -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop state ONLINE -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop guid 16950480214636800319 -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop asize 929G -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop psize 929G -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop ashift 9 -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop size 0 -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop free 0 -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop allocated 0 -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop comment - default
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop expandsize - -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop fragmentation 0% -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop bootsize 0 default
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop parity 0 -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop path /dev/loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop devid - default
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop physpath - default
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop encpath - default
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop fru - default
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop parent mirror-0 -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop children - default
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop numchildren 0 -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop read_errors 0 -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop write_errors 0 -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop checksum_errors 0 -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop initialize_errors 0 -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop null_ops 0 -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop read_ops 6.88M -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop write_ops 12.5M -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop free_ops 0 -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop claim_ops 0 -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop trim_ops 0 -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop null_bytes 0 -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop read_bytes 689G -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop write_bytes 711G -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop free_bytes 0 -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop claim_bytes 0 -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop trim_bytes 0 -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop removing off -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop allocating - -
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop failfast on default
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop checksum_n - default
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop checksum_t - default
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop io_n - default
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop io_t - default
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop slow_io_n - default
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop slow_io_t - default
zpool list:
root@HOST:/# zpool list
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
rpool 928G 674G 254G - - 48% 72% 1.00x ONLINE -
zpool list -v:
root@HOST:/# zpool list -v
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
rpool 928G 674G 254G - - 48% 72% 1.00x ONLINE -
mirror-0 928G 674G 254G - - 48% 72.6% - ONLINE
ata-CT1000MX500SSD1_2301E6992CB7_crypt 929G - - - - - - - ONLINE
loop/ata-CT1000MX500SSD1_2302E69AD9D0_loop 929G - - - - - - - ONLINE
Include any warning/errors/backtraces from the system logs
I've noticed that it works as a pool property (i.e. without "all-vdevs"), but not for individual vdevs.
Surely enough I didn't test that one, but you are right:
zpool get fragmentation rpool:
NAME PROPERTY VALUE SOURCE
rpool fragmentation 48% -
(Probably I did something that caused it to "jump" from 47% to 48%, anyways this is the correct Value)
Updated zpool list:
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
rpool 928G 675G 253G - - 48% 72% 1.00x ONLINE -