On 2020-07-22 17:10, Martin Steigerwald wrote:
I have:
% LANG=en df -hT /home
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/sata-home btrfs 300G 175G 123G 59% /home
And:
merkaba:~> btrfs fi sh /home
Label: 'home' uuid: […]
Total devices 2 FS bytes used 173.91GiB
devid 1 size 300.00GiB used 223.03GiB path /dev/mapper/sata-home
devid 2 size 300.00GiB used 223.03GiB path /dev/mapper/msata-home
merkaba:~> btrfs fi df /home
Data, RAID1: total=218.00GiB, used=171.98GiB
System, RAID1: total=32.00MiB, used=64.00KiB
Metadata, RAID1: total=5.00GiB, used=1.94GiB
GlobalReserve, single: total=490.48MiB, used=0.00B
As well as:
merkaba:~> btrfs fi usage -T /home
Overall:
Device size: 600.00GiB
Device allocated: 446.06GiB
Device unallocated: 153.94GiB
Device missing: 0.00B
Used: 347.82GiB
Free (estimated): 123.00GiB (min: 123.00GiB)
Data ratio: 2.00
Metadata ratio: 2.00
Global reserve: 490.45MiB (used: 0.00B)
Multiple profiles: no
Data Metadata System
Id Path RAID1 RAID1 RAID1 Unallocated
-- ---------------------- --------- -------- -------- -----------
1 /dev/mapper/sata-home 218.00GiB 5.00GiB 32.00MiB 76.97GiB
2 /dev/mapper/msata-home 218.00GiB 5.00GiB 32.00MiB 76.97GiB
-- ---------------------- --------- -------- -------- -----------
Total 218.00GiB 5.00GiB 32.00MiB 153.94GiB
Used 171.97GiB 1.94GiB 64.00KiB
I think I understand all of it, including just 123G instead of
300 - 175 = 125 GiB "Avail" in df -hT.
But why 175 GiB "Used" in 'df -hT' when just 173.91GiB (see 'btrfs fi sh')
is allocated *within* the block group / chunks?
Does this have something to do with that global reserve thing?
Thank you,
Hi,
I do not think global reserve should be counted in 'df' output, but it
does count all unallocated space, even if some of that space will be
used up by metadata chunks. Isn't the discrepancy the metadata allocated
vs used?
I made a post a little while ago on this subject, on how to improve the
space calculations if any one if interested in picking this up? I
believe the space calculation is wrong in all of the df/btrfs df/btrfs
us tools.
https://lore.kernel.org/linux-btrfs/ddb33661-2d71-5046-7b6a-4a601dc2df44@xxxxxxxxxxxxxx/