Lines Matching refs:delayed_refs

59 		atomic_read(&trans->transaction->delayed_refs.num_entries);  in btrfs_should_throttle_delayed_refs()
419 int btrfs_delayed_ref_lock(struct btrfs_delayed_ref_root *delayed_refs, in btrfs_delayed_ref_lock() argument
422 lockdep_assert_held(&delayed_refs->lock); in btrfs_delayed_ref_lock()
427 spin_unlock(&delayed_refs->lock); in btrfs_delayed_ref_lock()
430 spin_lock(&delayed_refs->lock); in btrfs_delayed_ref_lock()
440 static inline void drop_delayed_ref(struct btrfs_delayed_ref_root *delayed_refs, in drop_delayed_ref() argument
451 atomic_dec(&delayed_refs->num_entries); in drop_delayed_ref()
454 static bool merge_ref(struct btrfs_delayed_ref_root *delayed_refs, in merge_ref() argument
483 drop_delayed_ref(delayed_refs, head, next); in merge_ref()
486 drop_delayed_ref(delayed_refs, head, ref); in merge_ref()
501 struct btrfs_delayed_ref_root *delayed_refs, in btrfs_merge_delayed_refs() argument
524 if (merge_ref(delayed_refs, head, ref, seq)) in btrfs_merge_delayed_refs()
545 struct btrfs_delayed_ref_root *delayed_refs) in btrfs_select_ref_head() argument
550 head = find_ref_head(delayed_refs, delayed_refs->run_delayed_start, in btrfs_select_ref_head()
552 if (!head && delayed_refs->run_delayed_start != 0) { in btrfs_select_ref_head()
553 delayed_refs->run_delayed_start = 0; in btrfs_select_ref_head()
554 head = find_first_ref_head(delayed_refs); in btrfs_select_ref_head()
564 if (delayed_refs->run_delayed_start == 0) in btrfs_select_ref_head()
566 delayed_refs->run_delayed_start = 0; in btrfs_select_ref_head()
574 WARN_ON(delayed_refs->num_heads_ready == 0); in btrfs_select_ref_head()
575 delayed_refs->num_heads_ready--; in btrfs_select_ref_head()
576 delayed_refs->run_delayed_start = head->bytenr + in btrfs_select_ref_head()
581 void btrfs_delete_ref_head(struct btrfs_delayed_ref_root *delayed_refs, in btrfs_delete_ref_head() argument
584 lockdep_assert_held(&delayed_refs->lock); in btrfs_delete_ref_head()
587 rb_erase_cached(&head->href_node, &delayed_refs->href_root); in btrfs_delete_ref_head()
589 atomic_dec(&delayed_refs->num_entries); in btrfs_delete_ref_head()
590 delayed_refs->num_heads--; in btrfs_delete_ref_head()
592 delayed_refs->num_heads_ready--; in btrfs_delete_ref_head()
659 struct btrfs_delayed_ref_root *delayed_refs = in update_existing_head_ref() local
660 &trans->transaction->delayed_refs; in update_existing_head_ref()
722 delayed_refs->pending_csums -= existing->num_bytes; in update_existing_head_ref()
726 delayed_refs->pending_csums += existing->num_bytes; in update_existing_head_ref()
808 struct btrfs_delayed_ref_root *delayed_refs; in add_delayed_ref_head() local
811 delayed_refs = &trans->transaction->delayed_refs; in add_delayed_ref_head()
816 delayed_refs, qrecord)) in add_delayed_ref_head()
824 existing = htree_insert(&delayed_refs->href_root, in add_delayed_ref_head()
836 delayed_refs->pending_csums += head_ref->num_bytes; in add_delayed_ref_head()
841 delayed_refs->num_heads++; in add_delayed_ref_head()
842 delayed_refs->num_heads_ready++; in add_delayed_ref_head()
843 atomic_inc(&delayed_refs->num_entries); in add_delayed_ref_head()
915 struct btrfs_delayed_ref_root *delayed_refs; in btrfs_add_delayed_tree_ref() local
967 delayed_refs = &trans->transaction->delayed_refs; in btrfs_add_delayed_tree_ref()
968 spin_lock(&delayed_refs->lock); in btrfs_add_delayed_tree_ref()
977 ret = insert_delayed_ref(delayed_refs, head_ref, &ref->node); in btrfs_add_delayed_tree_ref()
978 spin_unlock(&delayed_refs->lock); in btrfs_add_delayed_tree_ref()
1008 struct btrfs_delayed_ref_root *delayed_refs; in btrfs_add_delayed_data_ref() local
1059 delayed_refs = &trans->transaction->delayed_refs; in btrfs_add_delayed_data_ref()
1060 spin_lock(&delayed_refs->lock); in btrfs_add_delayed_data_ref()
1069 ret = insert_delayed_ref(delayed_refs, head_ref, &ref->node); in btrfs_add_delayed_data_ref()
1070 spin_unlock(&delayed_refs->lock); in btrfs_add_delayed_data_ref()
1095 struct btrfs_delayed_ref_root *delayed_refs; in btrfs_add_delayed_extent_op() local
1105 delayed_refs = &trans->transaction->delayed_refs; in btrfs_add_delayed_extent_op()
1106 spin_lock(&delayed_refs->lock); in btrfs_add_delayed_extent_op()
1111 spin_unlock(&delayed_refs->lock); in btrfs_add_delayed_extent_op()
1126 btrfs_find_delayed_ref_head(struct btrfs_delayed_ref_root *delayed_refs, u64 bytenr) in btrfs_find_delayed_ref_head() argument
1128 lockdep_assert_held(&delayed_refs->lock); in btrfs_find_delayed_ref_head()
1130 return find_ref_head(delayed_refs, bytenr, false); in btrfs_find_delayed_ref_head()