Skip to content

Commit

Permalink
btrfs: remove no longer used delayed ref head search functionality
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Filipe Manana <[email protected]>
Reviewed-by: David Sterba <[email protected]>
Signed-off-by: David Sterba <[email protected]>
  • Loading branch information
fdmanana authored and kdave committed Oct 25, 2024
1 parent 5548f98 commit 0c3e014
Showing 1 changed file with 5 additions and 29 deletions.
34 changes: 5 additions & 29 deletions fs/btrfs/delayed-ref.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down Expand Up @@ -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)
Expand Down

0 comments on commit 0c3e014

Please sign in to comment.