diff --git a/fs/btrfs/backref.c b/fs/btrfs/backref.c index 5667e282fd57..4d4046099e54 100644 --- a/fs/btrfs/backref.c +++ b/fs/btrfs/backref.c @@ -1204,11 +1204,6 @@ static int find_parent_nodes(struct btrfs_trans_handle *trans, if (time_seq == BTRFS_SEQ_LAST) path->skip_locking = 1; - /* - * grab both a lock on the path and a lock on the delayed ref head. - * We need both to get a consistent picture of how the refs look - * at a specified point in time - */ again: head = NULL; @@ -1224,8 +1219,10 @@ again: if (trans && time_seq != BTRFS_SEQ_LAST) { #endif /* - * look if there are updates for this ref queued and lock the - * head + * We have a specific time_seq we care about and trans which + * means we have the path lock, we need to grab the ref head and + * lock it so we have a consistent view of the refs at the given + * time. */ delayed_refs = &trans->transaction->delayed_refs; spin_lock(&delayed_refs->lock);