# sudo btrfs fi df /mnt/disk3
Data, single: total=12.70TiB, used=12.27TiB
System, DUP: total=8.00MiB, used=1.34MiB
Metadata, DUP: total=15.00GiB, used=14.50GiB
GlobalReserve, single: total=512.00MiB, used=608.00KiB

# mkdir /mnt/disk3/tst
mkdir: cannot create directory ‘tst’: No space left on device

I suspect this is BTRFS balancing issue, but even BTRFS’s own utility is indicating there’s still SOME space left. Certainly should be enough to create a directory.

Any ideas?

Just in general BTRFS default options for creating new volumes seem to not work well for disks that I intend to fill completely immediately after formatting. Are there better options for this use case? I just use

# mkfs.btrfs /dev/sdd1

  • @daqOP
    link
    36 months ago

    Are you sure that’s the case with btrfs? I know ext has that feature. My understanding is btrfs just has a global reserve that can be used for any data in an low space situation.

    # sudo btrfs fi usage /mnt/disk3
    Overall:
        Device size:                  12.73TiB
        Device allocated:             12.73TiB
        Device unallocated:            1.00MiB
        Device missing:                  0.00B
        Device slack:                    0.00B
        Used:                         12.29TiB
        Free (estimated):            449.43GiB      (min: 449.43GiB)
        Free (statfs, df):           449.43GiB
        Data ratio:                       1.00
        Metadata ratio:                   2.00
        Global reserve:              512.00MiB      (used: 0.00B)
        Multiple profiles:                  no
    
    Data,single: Size:12.70TiB, Used:12.26TiB (96.55%)
       /dev/sdd1      12.70TiB
    
    Metadata,DUP: Size:15.00GiB, Used:14.49GiB (96.58%)
       /dev/sdd1      30.00GiB
    
    System,DUP: Size:8.00MiB, Used:1.34MiB (16.80%)
       /dev/sdd1      16.00MiB
    
    Unallocated:
       /dev/sdd1       1.00MiB