OK, we all know that df lies with btrfs. But even in the cases where it _could_ tell the truth, it's still getting it wrong. I've finally managed to pin down a concrete example:
Label: 'amelia' uuid: 1da97c6f-5467-4591-ad79-5d283db800d4 Total devices 6 FS bytes used 7668.78GiB devid 4 size 3722.02GiB used 3165.00GiB path /dev/sda2 devid 7 size 1393.02GiB used 1147.00GiB path /dev/sdd2 devid 9 size 1858.77GiB used 1614.03GiB path /dev/sdb2 devid 12 size 3722.02GiB used 3164.00GiB path /dev/sdj2 devid 13 size 3721.92GiB used 3627.03GiB path /dev/sdc2 devid 14 size 5589.03GiB used 2655.00GiB path /dev/sdi2 Data, RAID1: total=7674.00GiB, used=7657.94GiB System, RAID1: total=0.03GiB, used=0.00GiB Metadata, RAID1: total=12.00GiB, used=10.84GiB GlobalReserve, single: total=0.50GiB, used=0.00GiB Filesystem 1G-blocks Used Available Use% Mounted on /dev/sda2 10004G 7670G 915G 90% /media/video Now, by my calculations, there's unallocated space on the disks as follows: devid 4 unalloc 555 GiB devid 7 unalloc 246 GiB devid 9 unalloc 244 GiB devid 12 unalloc 556 GiB devid 13 unalloc 94 GiB devid 14 unalloc 2937 GiB Now, clearly the first five sum to less than the last one. With RAID-1 on everything, this means that we'll fill devices 4-13 first, and we can fit 1695 GiB more allocation on this FS. Added to the 16 GiB of space allocated but unused, the estimate should therefore be 1711 GiB of usable space, not the 915 GiB reported by df. I don't know what it's doing in there, but whatever it is, it's definitely *not* using the right algorithm for it (the one I wrote up in detail a few months ago). I think if the unallocated space on all the devices is similar, it gets the answer nearly right. It seems to get worse as the imbalance of unallocated space across the devices gets larger. Hugo. -- Hugo Mills | I know of three kinds: hot, cool, and hugo@... carfax.org.uk | what-time-does-the-tune-start? http://carfax.org.uk/ | PGP: E2AB1DE4 | Jill Swinburne, The Beiderbecke Connection
signature.asc
Description: Digital signature