Blog/Btrfs-progs v5.10 released

From Forza's ramblings

2021-01-31: Btrfs-progs v5.10 was released in January[edit | edit source]

A new version of btrfs-progs was released in January 2021. The full changelog can be found on the Btrfs wiki https://btrfs.wiki.kernel.org/index.php/Changelog#By_version_.28btrfs-progs.29

Some of the notable changes were in scrub and filesystem usage outputs.

Scrub has improved status[edit | edit source]

Btrfs scrub now has improved status information.

  • It will print the percentage of progress
  • Allows specifying the unit for size.
# btrfs scrub status /
UUID:             446d32cb-a6da-45f0-9246-1483ad3420e0
Scrub started:    Sun Jan 31 10:14:06 2021
Status:           running
Duration:         0:00:10
Time left:        0:01:42
ETA:              Sun Jan 31 10:15:59 2021
Total to scrub:   52.22GiB
Bytes scrubbed:   4.62GiB  (8.85%)
Rate:             473.48MiB/s
Error summary:    no errors found

Btrfs filesystem usage now shows 'df' output[edit | edit source]

Now also shows free space from statfs (the same as 'df' command)

# btrfs fi us /
Overall:
    Device size:                 229.47GiB
    Device allocated:             73.06GiB
    Device unallocated:          156.41GiB
    Device missing:                  0.00B
    Used:                         52.22GiB
    Free (estimated):            167.76GiB      (min: 89.56GiB)
    Free (statfs, df):           167.76GiB
    Data ratio:                       1.00
    Metadata ratio:                   2.00
    Global reserve:              233.92MiB      (used: 0.00B)
    Multiple profiles:                  no

Data,single: Size:59.00GiB, Used:47.64GiB (80.75%)
   /dev/sda3      59.00GiB

Metadata,DUP: Size:7.00GiB, Used:2.29GiB (32.71%)
   /dev/sda3      14.00GiB

System,DUP: Size:32.00MiB, Used:16.00KiB (0.05%)
   /dev/sda3      64.00MiB

Unallocated:
   /dev/sda3     156.41GiB

Other changes[edit | edit source]

  • convert: copy full 64 bit timestamp from ext4 if availalble
  • check:
    • add ability to repair extent item generation
    • new option to remove leftovers from inode number cache (-o inode_cache)
    • check for already running exclusive operation (balance, device add/...) when starting one
    • preliminary json output support for 'device stats'
  • fixes:
    • subvolume set-default: id 0 correctly falls back to toplevel
    • receive: align internal buffer to allow fast CRC calculation
    • logical-resolve: distinguish -o subvol and bind mounts
  • build: new dependency libmount
    • other
    • doc fixes and updates
    • new tests
    • ci on gitlab temporarily disabled
    • debugging output enhancements