Btrfs Can Now Remove Directories Much Faster In Send Mode: From 33 Hours To 2 Minutes
For those making use of Btrfs' incremental send/receive functionality for efficient backups or other reasons for moving data between Btrfs volumes, the directory deletion performance for Btrfs send is now much faster.
In particular, the Btrfs send code is much faster now when dealing with large directories removed. On a directory with two million entries, the improvement yields a drop from about 2000 minutes (33 hours) to about one minute and a half. It's quite a difference but will only be noticeable if you have a great deal of files in a directory and are using Btrfs send.
The improvement comes by avoiding some unnecessary allocations and smarter checking of whether children in a directory have been removed.
The other Btrfs updates for Linux 4.18 include some new ioctls for letting non-privileged users enumerate sub-volumes, various fixes, and a variety of other code improvements. The Btrfs updates for Linux 4.18's merge window are listed here.
In particular, the Btrfs send code is much faster now when dealing with large directories removed. On a directory with two million entries, the improvement yields a drop from about 2000 minutes (33 hours) to about one minute and a half. It's quite a difference but will only be noticeable if you have a great deal of files in a directory and are using Btrfs send.
The improvement comes by avoiding some unnecessary allocations and smarter checking of whether children in a directory have been removed.
The other Btrfs updates for Linux 4.18 include some new ioctls for letting non-privileged users enumerate sub-volumes, various fixes, and a variety of other code improvements. The Btrfs updates for Linux 4.18's merge window are listed here.
16 Comments