btrfs: don't throttle on delayed items when evicting deleted inode
authorFilipe Manana <fdmanana@suse.com>
Tue, 21 Mar 2023 11:13:50 +0000 (11:13 +0000)
committerDavid Sterba <dsterba@suse.com>
Mon, 17 Apr 2023 16:01:19 +0000 (18:01 +0200)
commitafa4b0afeeb44b0006fb9a35a2cfd94e5e73f190
tree838f7fd1de73fab2f0a3d55679f2b1661cf23482
parenta8fdc05172d0e52ad7812c07be8f753d63779539
btrfs: don't throttle on delayed items when evicting deleted inode

During inode eviction, if we are truncating a deleted inode, we don't add
delayed items for our inode, so there's no need to throttle on delayed
items on each iteration of the loop that truncates inode items from its
subvolume tree. But we dirty extent buffers from its subvolume tree, so
we only need to throttle on btree inode dirty pages.

So use btrfs_btree_balance_dirty_nodelay() in the loop that truncates
inode items.

Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/inode.c