Blog/Btrfs-progs v5.10 released

From Forza's ramblings

2021-01-31: Btrfs-progs v5.10 was released in January

A new version of btrfs-progs was released in January 2021. The full changelog can be found on the Btrfs wiki

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

Scrub has improved status

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

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

# btrfs fi us /
    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

   /dev/sda3     156.41GiB

Other changes

  • 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