mirror of
https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux
synced 2025-09-30 04:38:09 +10:00
btrfs: use helper to find first ref head at btrfs_destroy_delayed_refs()
Instead of open coding it, use the find_first_ref_head() helper at btrfs_destroy_delayed_refs(). This avoids duplicating the logic, specially with the upcoming changes in subsequent patches. 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:
parent
8d07a8f4c6
commit
055903c4e7
@ -1241,18 +1241,19 @@ bool btrfs_find_delayed_tree_ref(struct btrfs_delayed_ref_head *head,
|
||||
|
||||
void btrfs_destroy_delayed_refs(struct btrfs_transaction *trans)
|
||||
{
|
||||
struct rb_node *node;
|
||||
struct btrfs_delayed_ref_root *delayed_refs = &trans->delayed_refs;
|
||||
struct btrfs_fs_info *fs_info = trans->fs_info;
|
||||
|
||||
spin_lock(&delayed_refs->lock);
|
||||
while ((node = rb_first_cached(&delayed_refs->href_root)) != NULL) {
|
||||
while (true) {
|
||||
struct btrfs_delayed_ref_head *head;
|
||||
struct rb_node *n;
|
||||
bool pin_bytes = false;
|
||||
|
||||
head = rb_entry(node, struct btrfs_delayed_ref_head,
|
||||
href_node);
|
||||
head = find_first_ref_head(delayed_refs);
|
||||
if (!head)
|
||||
break;
|
||||
|
||||
if (btrfs_delayed_ref_lock(delayed_refs, head))
|
||||
continue;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user