Lines Matching refs:delayed_refs
56 atomic_read(&trans->transaction->delayed_refs.num_entries);
393 int btrfs_delayed_ref_lock(struct btrfs_delayed_ref_root *delayed_refs,
396 lockdep_assert_held(&delayed_refs->lock);
401 spin_unlock(&delayed_refs->lock);
404 spin_lock(&delayed_refs->lock);
415 struct btrfs_delayed_ref_root *delayed_refs,
426 atomic_dec(&delayed_refs->num_entries);
430 struct btrfs_delayed_ref_root *delayed_refs,
459 drop_delayed_ref(trans, delayed_refs, head, next);
462 drop_delayed_ref(trans, delayed_refs, head, ref);
477 struct btrfs_delayed_ref_root *delayed_refs,
510 if (merge_ref(trans, delayed_refs, head, ref, seq))
538 struct btrfs_delayed_ref_root *delayed_refs)
543 head = find_ref_head(delayed_refs, delayed_refs->run_delayed_start,
545 if (!head && delayed_refs->run_delayed_start != 0) {
546 delayed_refs->run_delayed_start = 0;
547 head = find_first_ref_head(delayed_refs);
557 if (delayed_refs->run_delayed_start == 0)
559 delayed_refs->run_delayed_start = 0;
567 WARN_ON(delayed_refs->num_heads_ready == 0);
568 delayed_refs->num_heads_ready--;
569 delayed_refs->run_delayed_start = head->bytenr +
574 void btrfs_delete_ref_head(struct btrfs_delayed_ref_root *delayed_refs,
577 lockdep_assert_held(&delayed_refs->lock);
580 rb_erase_cached(&head->href_node, &delayed_refs->href_root);
582 atomic_dec(&delayed_refs->num_entries);
583 delayed_refs->num_heads--;
585 delayed_refs->num_heads_ready--;
653 struct btrfs_delayed_ref_root *delayed_refs =
654 &trans->transaction->delayed_refs;
717 delayed_refs->pending_csums -= existing->num_bytes;
721 delayed_refs->pending_csums += existing->num_bytes;
823 struct btrfs_delayed_ref_root *delayed_refs;
826 delayed_refs = &trans->transaction->delayed_refs;
831 delayed_refs, qrecord))
839 existing = htree_insert(&delayed_refs->href_root,
853 delayed_refs->pending_csums += head_ref->num_bytes;
861 delayed_refs->num_heads++;
862 delayed_refs->num_heads_ready++;
863 atomic_inc(&delayed_refs->num_entries);
935 struct btrfs_delayed_ref_root *delayed_refs;
989 delayed_refs = &trans->transaction->delayed_refs;
990 spin_lock(&delayed_refs->lock);
999 ret = insert_delayed_ref(trans, delayed_refs, head_ref, &ref->node);
1000 spin_unlock(&delayed_refs->lock);
1030 struct btrfs_delayed_ref_root *delayed_refs;
1083 delayed_refs = &trans->transaction->delayed_refs;
1084 spin_lock(&delayed_refs->lock);
1093 ret = insert_delayed_ref(trans, delayed_refs, head_ref, &ref->node);
1094 spin_unlock(&delayed_refs->lock);
1119 struct btrfs_delayed_ref_root *delayed_refs;
1130 delayed_refs = &trans->transaction->delayed_refs;
1131 spin_lock(&delayed_refs->lock);
1136 spin_unlock(&delayed_refs->lock);
1151 btrfs_find_delayed_ref_head(struct btrfs_delayed_ref_root *delayed_refs, u64 bytenr)
1153 lockdep_assert_held(&delayed_refs->lock);
1155 return find_ref_head(delayed_refs, bytenr, false);