mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-13 08:20:40 -04:00
btrfs: remove no longer used delayed ref head search functionality
After the previous patch, which converted the rb-tree used to track delayed ref heads into an xarray, the find_ref_head() function is now used only by one caller which always passes false to the 'return_bigger' argument. So remove the 'return_bigger' logic, simplifying the function, and move all the function code to the single caller. Reviewed-by: Boris Burkov <boris@bur.io> Reviewed-by: Qu Wenruo <wqu@suse.com> Signed-off-by: Filipe Manana <fdmanana@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
committed by
David Sterba
parent
928ed1349d
commit
7f13360ef9
@@ -355,34 +355,6 @@ static struct btrfs_delayed_ref_head *find_first_ref_head(
|
||||
return xa_find(&dr->head_refs, &from, ULONG_MAX, XA_PRESENT);
|
||||
}
|
||||
|
||||
/*
|
||||
* Find a head entry based on bytenr. This returns the delayed ref head if it
|
||||
* was able to find one, or NULL if nothing was in that spot. If return_bigger
|
||||
* is given, the next bigger entry is returned if no exact match is found.
|
||||
*/
|
||||
static struct btrfs_delayed_ref_head *find_ref_head(
|
||||
const struct btrfs_fs_info *fs_info,
|
||||
struct btrfs_delayed_ref_root *dr, u64 bytenr,
|
||||
bool return_bigger)
|
||||
{
|
||||
const unsigned long target_index = (bytenr >> fs_info->sectorsize_bits);
|
||||
unsigned long found_index = target_index;
|
||||
struct btrfs_delayed_ref_head *entry;
|
||||
|
||||
lockdep_assert_held(&dr->lock);
|
||||
|
||||
entry = xa_find(&dr->head_refs, &found_index, ULONG_MAX, XA_PRESENT);
|
||||
if (!entry)
|
||||
return NULL;
|
||||
|
||||
ASSERT(found_index >= target_index);
|
||||
|
||||
if (found_index != target_index && !return_bigger)
|
||||
return NULL;
|
||||
|
||||
return entry;
|
||||
}
|
||||
|
||||
static bool btrfs_delayed_ref_lock(struct btrfs_delayed_ref_root *delayed_refs,
|
||||
struct btrfs_delayed_ref_head *head)
|
||||
{
|
||||
@@ -1184,7 +1156,11 @@ btrfs_find_delayed_ref_head(const struct btrfs_fs_info *fs_info,
|
||||
struct btrfs_delayed_ref_root *delayed_refs,
|
||||
u64 bytenr)
|
||||
{
|
||||
return find_ref_head(fs_info, delayed_refs, bytenr, false);
|
||||
const unsigned long index = (bytenr >> fs_info->sectorsize_bits);
|
||||
|
||||
lockdep_assert_held(&delayed_refs->lock);
|
||||
|
||||
return xa_load(&delayed_refs->head_refs, index);
|
||||
}
|
||||
|
||||
static int find_comp(struct btrfs_delayed_ref_node *entry, u64 root, u64 parent)
|
||||
|
||||
Reference in New Issue
Block a user