Home
last modified time | relevance | path

Searched refs:delayed_refs (Results 1 - 20 of 20) sorted by relevance

/kernel/linux/linux-6.6/fs/btrfs/
H A Ddelayed-ref.c404 int btrfs_delayed_ref_lock(struct btrfs_delayed_ref_root *delayed_refs, in btrfs_delayed_ref_lock() argument
407 lockdep_assert_held(&delayed_refs->lock); in btrfs_delayed_ref_lock()
412 spin_unlock(&delayed_refs->lock); in btrfs_delayed_ref_lock()
415 spin_lock(&delayed_refs->lock); in btrfs_delayed_ref_lock()
425 static inline void drop_delayed_ref(struct btrfs_delayed_ref_root *delayed_refs, in drop_delayed_ref() argument
435 atomic_dec(&delayed_refs->num_entries); in drop_delayed_ref()
438 static bool merge_ref(struct btrfs_delayed_ref_root *delayed_refs, in merge_ref() argument
467 drop_delayed_ref(delayed_refs, head, next); in merge_ref()
470 drop_delayed_ref(delayed_refs, head, ref); in merge_ref()
485 struct btrfs_delayed_ref_root *delayed_refs, in btrfs_merge_delayed_refs()
484 btrfs_merge_delayed_refs(struct btrfs_fs_info *fs_info, struct btrfs_delayed_ref_root *delayed_refs, struct btrfs_delayed_ref_head *head) btrfs_merge_delayed_refs() argument
528 btrfs_select_ref_head( struct btrfs_delayed_ref_root *delayed_refs) btrfs_select_ref_head() argument
566 btrfs_delete_ref_head(struct btrfs_delayed_ref_root *delayed_refs, struct btrfs_delayed_ref_head *head) btrfs_delete_ref_head() argument
642 struct btrfs_delayed_ref_root *delayed_refs = update_existing_head_ref() local
795 struct btrfs_delayed_ref_root *delayed_refs; add_delayed_ref_head() local
900 struct btrfs_delayed_ref_root *delayed_refs; btrfs_add_delayed_tree_ref() local
993 struct btrfs_delayed_ref_root *delayed_refs; btrfs_add_delayed_data_ref() local
1080 struct btrfs_delayed_ref_root *delayed_refs; btrfs_add_delayed_extent_op() local
1111 btrfs_find_delayed_ref_head(struct btrfs_delayed_ref_root *delayed_refs, u64 bytenr) btrfs_find_delayed_ref_head() argument
[all...]
H A Dtransaction.h92 struct btrfs_delayed_ref_root delayed_refs; member
190 struct btrfs_delayed_ref_root *delayed_refs; in btrfs_set_skip_qgroup() local
192 delayed_refs = &trans->transaction->delayed_refs; in btrfs_set_skip_qgroup()
193 WARN_ON(delayed_refs->qgroup_to_skip); in btrfs_set_skip_qgroup()
194 delayed_refs->qgroup_to_skip = qgroupid; in btrfs_set_skip_qgroup()
199 struct btrfs_delayed_ref_root *delayed_refs; in btrfs_clear_skip_qgroup() local
201 delayed_refs = &trans->transaction->delayed_refs; in btrfs_clear_skip_qgroup()
202 WARN_ON(!delayed_refs in btrfs_clear_skip_qgroup()
[all...]
H A Ddelayed-ref.h385 struct btrfs_delayed_ref_root *delayed_refs,
389 btrfs_find_delayed_ref_head(struct btrfs_delayed_ref_root *delayed_refs,
391 int btrfs_delayed_ref_lock(struct btrfs_delayed_ref_root *delayed_refs,
397 void btrfs_delete_ref_head(struct btrfs_delayed_ref_root *delayed_refs,
401 struct btrfs_delayed_ref_root *delayed_refs);
H A Dextent-tree.c107 struct btrfs_delayed_ref_root *delayed_refs; in btrfs_lookup_extent_info() local
191 delayed_refs = &trans->transaction->delayed_refs; in btrfs_lookup_extent_info()
192 spin_lock(&delayed_refs->lock); in btrfs_lookup_extent_info()
193 head = btrfs_find_delayed_ref_head(delayed_refs, bytenr); in btrfs_lookup_extent_info()
197 spin_unlock(&delayed_refs->lock); in btrfs_lookup_extent_info()
220 spin_unlock(&delayed_refs->lock); in btrfs_lookup_extent_info()
1789 static void unselect_delayed_ref_head(struct btrfs_delayed_ref_root *delayed_refs, in unselect_delayed_ref_head() argument
1792 spin_lock(&delayed_refs->lock); in unselect_delayed_ref_head()
1794 delayed_refs in unselect_delayed_ref_head()
1831 btrfs_cleanup_ref_head_accounting(struct btrfs_fs_info *fs_info, struct btrfs_delayed_ref_root *delayed_refs, struct btrfs_delayed_ref_head *head) btrfs_cleanup_ref_head_accounting() argument
1856 struct btrfs_delayed_ref_root *delayed_refs; cleanup_ref_head() local
1908 struct btrfs_delayed_ref_root *delayed_refs = btrfs_obtain_ref_head() local
1942 struct btrfs_delayed_ref_root *delayed_refs; btrfs_run_delayed_refs_for_head() local
2021 struct btrfs_delayed_ref_root *delayed_refs; __btrfs_run_delayed_refs() local
2146 struct btrfs_delayed_ref_root *delayed_refs; btrfs_run_delayed_refs() local
2227 struct btrfs_delayed_ref_root *delayed_refs; check_delayed_ref() local
3236 struct btrfs_delayed_ref_root *delayed_refs; check_ref_cleanup() local
[all...]
H A Dtransaction.c147 &transaction->delayed_refs.href_root.rb_root)); in btrfs_put_transaction()
149 &transaction->delayed_refs.dirty_extent_root)); in btrfs_put_transaction()
150 if (transaction->delayed_refs.pending_csums) in btrfs_put_transaction()
153 transaction->delayed_refs.pending_csums); in btrfs_put_transaction()
353 memset(&cur_trans->delayed_refs, 0, sizeof(cur_trans->delayed_refs)); in join_transaction()
355 cur_trans->delayed_refs.href_root = RB_ROOT_CACHED; in join_transaction()
356 cur_trans->delayed_refs.dirty_extent_root = RB_ROOT; in join_transaction()
357 atomic_set(&cur_trans->delayed_refs.num_entries, 0); in join_transaction()
370 spin_lock_init(&cur_trans->delayed_refs in join_transaction()
[all...]
H A Dqgroup.c1808 struct btrfs_delayed_ref_root *delayed_refs, in btrfs_qgroup_trace_extent_nolock()
1811 struct rb_node **p = &delayed_refs->dirty_extent_root.rb_node; in btrfs_qgroup_trace_extent_nolock()
1816 lockdep_assert_held(&delayed_refs->lock); in btrfs_qgroup_trace_extent_nolock()
1838 rb_insert_color(&record->node, &delayed_refs->dirty_extent_root); in btrfs_qgroup_trace_extent_nolock()
1886 * trans->transaction->delayed_refs, since inserted qrecord won't in btrfs_qgroup_trace_extent_post()
1900 struct btrfs_delayed_ref_root *delayed_refs; in btrfs_qgroup_trace_extent() local
1910 delayed_refs = &trans->transaction->delayed_refs; in btrfs_qgroup_trace_extent()
1915 spin_lock(&delayed_refs->lock); in btrfs_qgroup_trace_extent()
1916 ret = btrfs_qgroup_trace_extent_nolock(fs_info, delayed_refs, recor in btrfs_qgroup_trace_extent()
1807 btrfs_qgroup_trace_extent_nolock(struct btrfs_fs_info *fs_info, struct btrfs_delayed_ref_root *delayed_refs, struct btrfs_qgroup_extent_record *record) btrfs_qgroup_trace_extent_nolock() argument
2790 struct btrfs_delayed_ref_root *delayed_refs; btrfs_qgroup_account_extents() local
[all...]
H A Dextent-tree.h96 struct btrfs_delayed_ref_root *delayed_refs,
H A Dqgroup.h292 struct btrfs_delayed_ref_root *delayed_refs,
H A Ddisk-io.c4597 struct btrfs_delayed_ref_root *delayed_refs; in btrfs_destroy_delayed_refs() local
4600 delayed_refs = &trans->delayed_refs; in btrfs_destroy_delayed_refs()
4602 spin_lock(&delayed_refs->lock); in btrfs_destroy_delayed_refs()
4603 if (atomic_read(&delayed_refs->num_entries) == 0) { in btrfs_destroy_delayed_refs()
4604 spin_unlock(&delayed_refs->lock); in btrfs_destroy_delayed_refs()
4605 btrfs_debug(fs_info, "delayed_refs has NO entry"); in btrfs_destroy_delayed_refs()
4609 while ((node = rb_first_cached(&delayed_refs->href_root)) != NULL) { in btrfs_destroy_delayed_refs()
4616 if (btrfs_delayed_ref_lock(delayed_refs, head)) in btrfs_destroy_delayed_refs()
4627 atomic_dec(&delayed_refs in btrfs_destroy_delayed_refs()
[all...]
H A Dbackref.c1393 struct btrfs_delayed_ref_root *delayed_refs = NULL; in find_parent_nodes() local
1449 delayed_refs = &ctx->trans->transaction->delayed_refs; in find_parent_nodes()
1450 spin_lock(&delayed_refs->lock); in find_parent_nodes()
1451 head = btrfs_find_delayed_ref_head(delayed_refs, ctx->bytenr); in find_parent_nodes()
1455 spin_unlock(&delayed_refs->lock); in find_parent_nodes()
1468 spin_unlock(&delayed_refs->lock); in find_parent_nodes()
1475 spin_unlock(&delayed_refs->lock); in find_parent_nodes()
/kernel/linux/linux-5.10/fs/btrfs/
H A Ddelayed-ref.c56 atomic_read(&trans->transaction->delayed_refs.num_entries); in btrfs_should_throttle_delayed_refs()
393 int btrfs_delayed_ref_lock(struct btrfs_delayed_ref_root *delayed_refs, in btrfs_delayed_ref_lock() argument
396 lockdep_assert_held(&delayed_refs->lock); in btrfs_delayed_ref_lock()
401 spin_unlock(&delayed_refs->lock); in btrfs_delayed_ref_lock()
404 spin_lock(&delayed_refs->lock); in btrfs_delayed_ref_lock()
415 struct btrfs_delayed_ref_root *delayed_refs, in drop_delayed_ref()
426 atomic_dec(&delayed_refs->num_entries); in drop_delayed_ref()
430 struct btrfs_delayed_ref_root *delayed_refs, in merge_ref()
459 drop_delayed_ref(trans, delayed_refs, head, next); in merge_ref()
462 drop_delayed_ref(trans, delayed_refs, hea in merge_ref()
414 drop_delayed_ref(struct btrfs_trans_handle *trans, struct btrfs_delayed_ref_root *delayed_refs, struct btrfs_delayed_ref_head *head, struct btrfs_delayed_ref_node *ref) drop_delayed_ref() argument
429 merge_ref(struct btrfs_trans_handle *trans, struct btrfs_delayed_ref_root *delayed_refs, struct btrfs_delayed_ref_head *head, struct btrfs_delayed_ref_node *ref, u64 seq) merge_ref() argument
476 btrfs_merge_delayed_refs(struct btrfs_trans_handle *trans, struct btrfs_delayed_ref_root *delayed_refs, struct btrfs_delayed_ref_head *head) btrfs_merge_delayed_refs() argument
537 btrfs_select_ref_head( struct btrfs_delayed_ref_root *delayed_refs) btrfs_select_ref_head() argument
574 btrfs_delete_ref_head(struct btrfs_delayed_ref_root *delayed_refs, struct btrfs_delayed_ref_head *head) btrfs_delete_ref_head() argument
653 struct btrfs_delayed_ref_root *delayed_refs = update_existing_head_ref() local
823 struct btrfs_delayed_ref_root *delayed_refs; add_delayed_ref_head() local
935 struct btrfs_delayed_ref_root *delayed_refs; btrfs_add_delayed_tree_ref() local
1030 struct btrfs_delayed_ref_root *delayed_refs; btrfs_add_delayed_data_ref() local
1119 struct btrfs_delayed_ref_root *delayed_refs; btrfs_add_delayed_extent_op() local
1151 btrfs_find_delayed_ref_head(struct btrfs_delayed_ref_root *delayed_refs, u64 bytenr) btrfs_find_delayed_ref_head() argument
[all...]
H A Dtransaction.h86 struct btrfs_delayed_ref_root delayed_refs; member
185 struct btrfs_delayed_ref_root *delayed_refs; in btrfs_set_skip_qgroup() local
187 delayed_refs = &trans->transaction->delayed_refs; in btrfs_set_skip_qgroup()
188 WARN_ON(delayed_refs->qgroup_to_skip); in btrfs_set_skip_qgroup()
189 delayed_refs->qgroup_to_skip = qgroupid; in btrfs_set_skip_qgroup()
194 struct btrfs_delayed_ref_root *delayed_refs; in btrfs_clear_skip_qgroup() local
196 delayed_refs = &trans->transaction->delayed_refs; in btrfs_clear_skip_qgroup()
197 WARN_ON(!delayed_refs in btrfs_clear_skip_qgroup()
[all...]
H A Ddelayed-ref.h355 struct btrfs_delayed_ref_root *delayed_refs,
359 btrfs_find_delayed_ref_head(struct btrfs_delayed_ref_root *delayed_refs,
361 int btrfs_delayed_ref_lock(struct btrfs_delayed_ref_root *delayed_refs,
367 void btrfs_delete_ref_head(struct btrfs_delayed_ref_root *delayed_refs,
371 struct btrfs_delayed_ref_root *delayed_refs);
H A Dextent-tree.c118 struct btrfs_delayed_ref_root *delayed_refs; in btrfs_lookup_extent_info() local
199 delayed_refs = &trans->transaction->delayed_refs; in btrfs_lookup_extent_info()
200 spin_lock(&delayed_refs->lock); in btrfs_lookup_extent_info()
201 head = btrfs_find_delayed_ref_head(delayed_refs, bytenr); in btrfs_lookup_extent_info()
205 spin_unlock(&delayed_refs->lock); in btrfs_lookup_extent_info()
228 spin_unlock(&delayed_refs->lock); in btrfs_lookup_extent_info()
1725 static void unselect_delayed_ref_head(struct btrfs_delayed_ref_root *delayed_refs, in unselect_delayed_ref_head() argument
1728 spin_lock(&delayed_refs->lock); in unselect_delayed_ref_head()
1730 delayed_refs in unselect_delayed_ref_head()
1767 btrfs_cleanup_ref_head_accounting(struct btrfs_fs_info *fs_info, struct btrfs_delayed_ref_root *delayed_refs, struct btrfs_delayed_ref_head *head) btrfs_cleanup_ref_head_accounting() argument
1805 struct btrfs_delayed_ref_root *delayed_refs; cleanup_ref_head() local
1854 struct btrfs_delayed_ref_root *delayed_refs = btrfs_obtain_ref_head() local
1889 struct btrfs_delayed_ref_root *delayed_refs; btrfs_run_delayed_refs_for_head() local
1970 struct btrfs_delayed_ref_root *delayed_refs; __btrfs_run_delayed_refs() local
2135 struct btrfs_delayed_ref_root *delayed_refs; btrfs_run_delayed_refs() local
2217 struct btrfs_delayed_ref_root *delayed_refs; check_delayed_ref() local
3274 struct btrfs_delayed_ref_root *delayed_refs; check_ref_cleanup() local
[all...]
H A Dtransaction.c124 &transaction->delayed_refs.href_root.rb_root)); in btrfs_put_transaction()
126 &transaction->delayed_refs.dirty_extent_root)); in btrfs_put_transaction()
127 if (transaction->delayed_refs.pending_csums) in btrfs_put_transaction()
130 transaction->delayed_refs.pending_csums); in btrfs_put_transaction()
351 memset(&cur_trans->delayed_refs, 0, sizeof(cur_trans->delayed_refs)); in join_transaction()
353 cur_trans->delayed_refs.href_root = RB_ROOT_CACHED; in join_transaction()
354 cur_trans->delayed_refs.dirty_extent_root = RB_ROOT; in join_transaction()
355 atomic_set(&cur_trans->delayed_refs.num_entries, 0); in join_transaction()
368 spin_lock_init(&cur_trans->delayed_refs in join_transaction()
[all...]
H A Dqgroup.c1757 struct btrfs_delayed_ref_root *delayed_refs, in btrfs_qgroup_trace_extent_nolock()
1760 struct rb_node **p = &delayed_refs->dirty_extent_root.rb_node; in btrfs_qgroup_trace_extent_nolock()
1765 lockdep_assert_held(&delayed_refs->lock); in btrfs_qgroup_trace_extent_nolock()
1787 rb_insert_color(&record->node, &delayed_refs->dirty_extent_root); in btrfs_qgroup_trace_extent_nolock()
1809 * trans->transaction->delayed_refs, since inserted qrecord won't in btrfs_qgroup_trace_extent_post()
1823 struct btrfs_delayed_ref_root *delayed_refs; in btrfs_qgroup_trace_extent() local
1833 delayed_refs = &trans->transaction->delayed_refs; in btrfs_qgroup_trace_extent()
1838 spin_lock(&delayed_refs->lock); in btrfs_qgroup_trace_extent()
1839 ret = btrfs_qgroup_trace_extent_nolock(fs_info, delayed_refs, recor in btrfs_qgroup_trace_extent()
1756 btrfs_qgroup_trace_extent_nolock(struct btrfs_fs_info *fs_info, struct btrfs_delayed_ref_root *delayed_refs, struct btrfs_qgroup_extent_record *record) btrfs_qgroup_trace_extent_nolock() argument
2723 struct btrfs_delayed_ref_root *delayed_refs; btrfs_qgroup_account_extents() local
[all...]
H A Dbackref.c1186 * If time_seq is set to SEQ_LAST, it will not search delayed_refs, and behave
1210 struct btrfs_delayed_ref_root *delayed_refs = NULL; local
1269 delayed_refs = &trans->transaction->delayed_refs;
1270 spin_lock(&delayed_refs->lock);
1271 head = btrfs_find_delayed_ref_head(delayed_refs, bytenr);
1275 spin_unlock(&delayed_refs->lock);
1288 spin_unlock(&delayed_refs->lock);
1295 spin_unlock(&delayed_refs->lock);
H A Dqgroup.h277 struct btrfs_delayed_ref_root *delayed_refs,
H A Ddisk-io.c4445 struct btrfs_delayed_ref_root *delayed_refs; in btrfs_destroy_delayed_refs() local
4449 delayed_refs = &trans->delayed_refs; in btrfs_destroy_delayed_refs()
4451 spin_lock(&delayed_refs->lock); in btrfs_destroy_delayed_refs()
4452 if (atomic_read(&delayed_refs->num_entries) == 0) { in btrfs_destroy_delayed_refs()
4453 spin_unlock(&delayed_refs->lock); in btrfs_destroy_delayed_refs()
4454 btrfs_debug(fs_info, "delayed_refs has NO entry"); in btrfs_destroy_delayed_refs()
4458 while ((node = rb_first_cached(&delayed_refs->href_root)) != NULL) { in btrfs_destroy_delayed_refs()
4465 if (btrfs_delayed_ref_lock(delayed_refs, head)) in btrfs_destroy_delayed_refs()
4477 atomic_dec(&delayed_refs in btrfs_destroy_delayed_refs()
[all...]
H A Dctree.h2555 struct btrfs_delayed_ref_root *delayed_refs,

Completed in 50 milliseconds