While checking for used and free space in a btrfs subvolume, I’m not getting a consistent value. It’s confusing and doesn’t help.
- What is the correct way to find used/free space?
- Why are these values inconsistent (except normal du)?
According to btrfs fi usage /home
, 83.21 GiB is used.
Overall:
Device size: 149.98GiB
Device allocated: 100.07GiB
Device unallocated: 49.91GiB
Device missing: 0.00B
Device slack: 0.00B
Used: 83.21GiB
Free (estimated): 63.06GiB (min: 38.10GiB)
Free (statfs, df): 63.06GiB
Data ratio: 1.00
Metadata ratio: 2.00
...
As per btrfs fi df /home
, used space is 82.86 GiB, not 83.21 GiB.
Data, single: total=96.01GiB, used=82.86GiB
System, DUP: total=32.00MiB, used=16.00KiB
Metadata, DUP: total=2.00GiB, used=178.61MiB
GlobalReserve, single: total=99.50MiB, used=0.00B
As per btrfs fi du -s /home
, used space is 63.11 GiB.
Total Exclusive Set shared Filename
63.11GiB 13.64GiB 49.01GiB /home
While according to du -hs /home
, 64GiB is used.
Also, maximum space used should be close to 72 GiB as per btrfs fi du -s /
and 73 GiB as per du -hs /
, if btrfs fi usage
includes all subvolumes . ‘/home’ and ‘/’ are on separate subvolumes.
You are right. I shouldn’t have used diff. I’ll fix that
Also, incremental changes from subvolume to its snapshot might be incorrect as that will be new data added to subvolume, rather that old data deleted from subvolume while still present in snapshot. I’ll have to check carefully.