Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3069bd26 authored by Josef Bacik's avatar Josef Bacik Committed by David Sterba
Browse files

btrfs: make btrfs_destroy_delayed_refs use btrfs_delayed_ref_lock



We have this open coded in btrfs_destroy_delayed_refs, use the helper
instead.

Reviewed-by: default avatarNikolay Borisov <nborisov@suse.com>
Signed-off-by: default avatarJosef Bacik <josef@toxicpanda.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent d1e14420
Loading
Loading
Loading
Loading
+2 −9
Original line number Diff line number Diff line
@@ -4246,16 +4246,9 @@ static int btrfs_destroy_delayed_refs(struct btrfs_transaction *trans,

		head = rb_entry(node, struct btrfs_delayed_ref_head,
				href_node);
		if (!mutex_trylock(&head->mutex)) {
			refcount_inc(&head->refs);
			spin_unlock(&delayed_refs->lock);

			mutex_lock(&head->mutex);
			mutex_unlock(&head->mutex);
			btrfs_put_delayed_ref_head(head);
			spin_lock(&delayed_refs->lock);
		if (btrfs_delayed_ref_lock(delayed_refs, head))
			continue;
		}

		spin_lock(&head->lock);
		while ((n = rb_first_cached(&head->ref_tree)) != NULL) {
			ref = rb_entry(n, struct btrfs_delayed_ref_node,