]> www.infradead.org Git - users/jedix/linux-maple.git/commit
btrfs: remove unnecessary early exits in delalloc folio lock and unlock
authorQu Wenruo <wqu@suse.com>
Thu, 3 Apr 2025 23:50:21 +0000 (10:20 +1030)
committerDavid Sterba <dsterba@suse.com>
Thu, 15 May 2025 12:30:43 +0000 (14:30 +0200)
commite1fcad644b405928b4bf74b1cfd9322008992019
treeb3b42a458a937eaa36a45066ad082e5daeecb04f
parent0f987c099d22c3b8c7d94fd13f957792e46f79c9
btrfs: remove unnecessary early exits in delalloc folio lock and unlock

Inside functions unlock_delalloc_folio() and lock_delalloc_folios(), we
have the following early exits:

if (index == locked_folio->index && end_index == index)
return;

This allows us to exit early if the range is inside the same locked
folio.

However the current check relies on page sized folios, if we have a large
folio that contains @index but not at @index, then the early exit will
no longer trigger.

Furthermore without the above early check, the existing code can handle it
well, as both __process_folios_contig() and lock_delalloc_folios() will
skip any folio page lock/unlock if it's on the locked folio.

Here we remove the early exits and let the existing code handle the
same index case, to make the code a little simpler.

Reviewed-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent_io.c