btrfs-progs/check
Qu Wenruo 07ecf878c1 btrfs-progs: check: batch v1 space cache inodes when clearing
Currently v1 space cache clearing will delete one cache inode just in
one transaction, and then start a new transaction to delete the next
inode.

This is far from efficient and can make the already slow v1 space cache
deleting even slower, as large fs has tons of cache inodes to delete.

This patch will speed up the process by batching up to 16 inode deletion
into one transaction.

A quick benchmark of deleting 702 v1 space cache inodes would look like
this:

Unpatched:		4.898s
Patched:		0.087s

Which is obviously a big win.

Reported-by: Joshua <joshua@mailmag.net>
Link: https://lore.kernel.org/linux-btrfs/0b4cf70fc883e28c97d893a3b2f81b11@mailmag.net/
Signed-off-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2021-07-22 16:26:05 +02:00
..
common.h btrfs-progs: move ctree.c to kernel-shared/ 2020-08-31 17:01:05 +02:00
main.c btrfs-progs: check: batch v1 space cache inodes when clearing 2021-07-22 16:26:05 +02:00
mode-common.c btrfs-progs: check: add the ability to reset btrfs_dev_item::bytes_used 2021-06-19 22:07:49 +02:00
mode-common.h btrfs-progs: check: add the ability to reset btrfs_dev_item::bytes_used 2021-06-19 22:07:49 +02:00
mode-lowmem.c btrfs-progs: check: add the ability to reset btrfs_dev_item::bytes_used 2021-06-19 22:07:49 +02:00
mode-lowmem.h btrfs-progs: check: drop unused fs_info 2020-08-31 17:01:03 +02:00
mode-original.h btrfs-progs: check/original: Add check and repair for invalid inode generation 2019-11-18 19:21:07 +01:00
qgroup-verify.c btrfs-progs: move repair.[ch] to common/ 2021-05-06 16:41:47 +02:00
qgroup-verify.h btrfs-progs: move ctree.c to kernel-shared/ 2020-08-31 17:01:05 +02:00