Lines Matching refs:delayed_refs
203 struct btrfs_delayed_ref_root *delayed_refs; in btrfs_delayed_ref_lock() local
205 delayed_refs = &trans->transaction->delayed_refs; in btrfs_delayed_ref_lock()
206 lockdep_assert_held(&delayed_refs->lock); in btrfs_delayed_ref_lock()
211 spin_unlock(&delayed_refs->lock); in btrfs_delayed_ref_lock()
214 spin_lock(&delayed_refs->lock); in btrfs_delayed_ref_lock()
225 struct btrfs_delayed_ref_root *delayed_refs, in drop_delayed_ref() argument
236 atomic_dec(&delayed_refs->num_entries); in drop_delayed_ref()
242 struct btrfs_delayed_ref_root *delayed_refs, in merge_ref() argument
271 drop_delayed_ref(trans, delayed_refs, head, next); in merge_ref()
274 drop_delayed_ref(trans, delayed_refs, head, ref); in merge_ref()
289 struct btrfs_delayed_ref_root *delayed_refs, in btrfs_merge_delayed_refs() argument
321 if (merge_ref(trans, delayed_refs, head, ref, seq)) in btrfs_merge_delayed_refs()
351 struct btrfs_delayed_ref_root *delayed_refs; in btrfs_select_ref_head() local
356 delayed_refs = &trans->transaction->delayed_refs; in btrfs_select_ref_head()
359 start = delayed_refs->run_delayed_start; in btrfs_select_ref_head()
360 head = find_ref_head(&delayed_refs->href_root, start, 1); in btrfs_select_ref_head()
362 delayed_refs->run_delayed_start = 0; in btrfs_select_ref_head()
365 head = find_ref_head(&delayed_refs->href_root, start, 1); in btrfs_select_ref_head()
379 delayed_refs->run_delayed_start = 0; in btrfs_select_ref_head()
389 WARN_ON(delayed_refs->num_heads_ready == 0); in btrfs_select_ref_head()
390 delayed_refs->num_heads_ready--; in btrfs_select_ref_head()
391 delayed_refs->run_delayed_start = head->bytenr + in btrfs_select_ref_head()
459 update_existing_head_ref(struct btrfs_delayed_ref_root *delayed_refs, in update_existing_head_ref() argument
522 delayed_refs->pending_csums -= existing->num_bytes; in update_existing_head_ref()
524 delayed_refs->pending_csums += existing->num_bytes; in update_existing_head_ref()
607 struct btrfs_delayed_ref_root *delayed_refs; in add_delayed_ref_head() local
610 delayed_refs = &trans->transaction->delayed_refs; in add_delayed_ref_head()
615 delayed_refs, qrecord)) in add_delayed_ref_head()
623 existing = htree_insert(&delayed_refs->href_root, in add_delayed_ref_head()
630 update_existing_head_ref(delayed_refs, existing, head_ref, in add_delayed_ref_head()
642 delayed_refs->pending_csums += head_ref->num_bytes; in add_delayed_ref_head()
643 delayed_refs->num_heads++; in add_delayed_ref_head()
644 delayed_refs->num_heads_ready++; in add_delayed_ref_head()
645 atomic_inc(&delayed_refs->num_entries); in add_delayed_ref_head()
721 struct btrfs_delayed_ref_root *delayed_refs; in btrfs_add_delayed_tree_ref() local
764 delayed_refs = &trans->transaction->delayed_refs; in btrfs_add_delayed_tree_ref()
765 spin_lock(&delayed_refs->lock); in btrfs_add_delayed_tree_ref()
775 ret = insert_delayed_ref(trans, delayed_refs, head_ref, &ref->node); in btrfs_add_delayed_tree_ref()
776 spin_unlock(&delayed_refs->lock); in btrfs_add_delayed_tree_ref()
802 struct btrfs_delayed_ref_root *delayed_refs; in btrfs_add_delayed_data_ref() local
845 delayed_refs = &trans->transaction->delayed_refs; in btrfs_add_delayed_data_ref()
846 spin_lock(&delayed_refs->lock); in btrfs_add_delayed_data_ref()
856 ret = insert_delayed_ref(trans, delayed_refs, head_ref, &ref->node); in btrfs_add_delayed_data_ref()
857 spin_unlock(&delayed_refs->lock); in btrfs_add_delayed_data_ref()
877 struct btrfs_delayed_ref_root *delayed_refs; in btrfs_add_delayed_extent_op() local
888 delayed_refs = &trans->transaction->delayed_refs; in btrfs_add_delayed_extent_op()
889 spin_lock(&delayed_refs->lock); in btrfs_add_delayed_extent_op()
894 spin_unlock(&delayed_refs->lock); in btrfs_add_delayed_extent_op()
904 btrfs_find_delayed_ref_head(struct btrfs_delayed_ref_root *delayed_refs, u64 bytenr) in btrfs_find_delayed_ref_head() argument
906 return find_ref_head(&delayed_refs->href_root, bytenr, 0); in btrfs_find_delayed_ref_head()