diff options
author | Filipe Manana <fdmanana@suse.com> | 2022-09-19 15:06:39 +0100 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2022-09-29 17:08:31 +0200 |
commit | b54bb86556d609622236006b9b0a75c1716154df (patch) | |
tree | 7a34343991eea50dc82e4fdd3a9505dd66288b6a /net/kcm | |
parent | 6c05813ebb5a634add71f942a21b29eb6ff09695 (diff) |
btrfs: avoid pointless extent map tree search when flushing delalloc
When flushing delalloc, in COW mode at cow_file_range(), before entering
the loop that allocates extents and creates ordered extents, we do a call
to btrfs_drop_extent_map_range() for the whole range. This is pointless
because in the loop we call create_io_em(), which will also call
btrfs_drop_extent_map_range() before inserting the new extent map.
So remove that call at cow_file_range() not only because it is not needed,
but also because it will make the btrfs_drop_extent_map_range() calls made
from create_io_em() waste time searching the extent map tree, and that
tree can be large for files with many extents. It also makes us waste time
at btrfs_drop_extent_map_range() allocating and freeing the split extent
maps for nothing.
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'net/kcm')
0 files changed, 0 insertions, 0 deletions