Home
last modified time | relevance | path

Searched refs:delayed_refs (Results 1 – 9 of 9) sorted by relevance

/linux/fs/btrfs/
H A Ddelayed-ref.c349 static bool btrfs_delayed_ref_lock(struct btrfs_delayed_ref_root *delayed_refs, in btrfs_delayed_ref_lock() argument
352 lockdep_assert_held(&delayed_refs->lock); in btrfs_delayed_ref_lock()
357 spin_unlock(&delayed_refs->lock); in btrfs_delayed_ref_lock()
360 spin_lock(&delayed_refs->lock); in btrfs_delayed_ref_lock()
371 struct btrfs_delayed_ref_root *delayed_refs, in drop_delayed_ref() argument
385 struct btrfs_delayed_ref_root *delayed_refs, in merge_ref() argument
414 drop_delayed_ref(fs_info, delayed_refs, head, next); in merge_ref()
417 drop_delayed_ref(fs_info, delayed_refs, head, ref); in merge_ref()
432 struct btrfs_delayed_ref_root *delayed_refs, in btrfs_merge_delayed_refs() argument
455 if (merge_ref(fs_info, delayed_refs, head, ref, seq)) in btrfs_merge_delayed_refs()
[all …]
H A Ddelayed-ref.h387 struct btrfs_delayed_ref_root *delayed_refs,
392 struct btrfs_delayed_ref_root *delayed_refs,
399 struct btrfs_delayed_ref_root *delayed_refs,
404 struct btrfs_delayed_ref_root *delayed_refs);
405 void btrfs_unselect_ref_head(struct btrfs_delayed_ref_root *delayed_refs,
H A Dextent-tree.c104 struct btrfs_delayed_ref_root *delayed_refs; in btrfs_lookup_extent_info() local
182 delayed_refs = &trans->transaction->delayed_refs; in btrfs_lookup_extent_info()
183 spin_lock(&delayed_refs->lock); in btrfs_lookup_extent_info()
184 head = btrfs_find_delayed_ref_head(fs_info, delayed_refs, bytenr); in btrfs_lookup_extent_info()
188 spin_unlock(&delayed_refs->lock); in btrfs_lookup_extent_info()
209 spin_unlock(&delayed_refs->lock); in btrfs_lookup_extent_info()
1859 struct btrfs_delayed_ref_root *delayed_refs, in btrfs_cleanup_ref_head_accounting() argument
1871 spin_lock(&delayed_refs->lock); in btrfs_cleanup_ref_head_accounting()
1872 delayed_refs->pending_csums -= head->num_bytes; in btrfs_cleanup_ref_head_accounting()
1873 spin_unlock(&delayed_refs->lock); in btrfs_cleanup_ref_head_accounting()
[all …]
H A Dtransaction.c145 WARN_ON(!xa_empty(&transaction->delayed_refs.head_refs)); in btrfs_put_transaction()
146 WARN_ON(!xa_empty(&transaction->delayed_refs.dirty_extents)); in btrfs_put_transaction()
147 if (transaction->delayed_refs.pending_csums) in btrfs_put_transaction()
150 transaction->delayed_refs.pending_csums); in btrfs_put_transaction()
359 memset(&cur_trans->delayed_refs, 0, sizeof(cur_trans->delayed_refs)); in join_transaction()
361 xa_init(&cur_trans->delayed_refs.head_refs); in join_transaction()
362 xa_init(&cur_trans->delayed_refs.dirty_extents); in join_transaction()
375 spin_lock_init(&cur_trans->delayed_refs.lock); in join_transaction()
1016 test_bit(BTRFS_DELAYED_REFS_FLUSHING, &cur_trans->delayed_refs.flags)) in btrfs_should_end_transaction()
2233 &cur_trans->delayed_refs.flags)) { in btrfs_commit_transaction()
H A Dqgroup.c2007 struct btrfs_delayed_ref_root *delayed_refs, in btrfs_qgroup_trace_extent_nolock() argument
2029 xa_lock(&delayed_refs->dirty_extents); in btrfs_qgroup_trace_extent_nolock()
2030 existing = xa_load(&delayed_refs->dirty_extents, index); in btrfs_qgroup_trace_extent_nolock()
2036 xa_unlock(&delayed_refs->dirty_extents); in btrfs_qgroup_trace_extent_nolock()
2040 ret = __xa_store(&delayed_refs->dirty_extents, index, record, GFP_ATOMIC); in btrfs_qgroup_trace_extent_nolock()
2041 xa_unlock(&delayed_refs->dirty_extents); in btrfs_qgroup_trace_extent_nolock()
2144 struct btrfs_delayed_ref_root *delayed_refs = &trans->transaction->delayed_refs; in btrfs_qgroup_trace_extent() local
2154 if (xa_reserve(&delayed_refs->dirty_extents, index, GFP_NOFS)) { in btrfs_qgroup_trace_extent()
2161 ret = btrfs_qgroup_trace_extent_nolock(fs_info, delayed_refs, record, bytenr); in btrfs_qgroup_trace_extent()
2164 xa_release(&delayed_refs->dirty_extents, index); in btrfs_qgroup_trace_extent()
[all …]
H A Dbackref.c1383 struct btrfs_delayed_ref_root *delayed_refs = NULL; in find_parent_nodes() local
1441 delayed_refs = &ctx->trans->transaction->delayed_refs; in find_parent_nodes()
1442 spin_lock(&delayed_refs->lock); in find_parent_nodes()
1443 head = btrfs_find_delayed_ref_head(ctx->fs_info, delayed_refs, in find_parent_nodes()
1448 spin_unlock(&delayed_refs->lock); in find_parent_nodes()
1461 spin_unlock(&delayed_refs->lock); in find_parent_nodes()
1468 spin_unlock(&delayed_refs->lock); in find_parent_nodes()
H A Dqgroup.h355 struct btrfs_delayed_ref_root *delayed_refs,
/linux/fs/btrfs/tests/
H A Ddelayed-refs-tests.c47 struct btrfs_delayed_ref_root *delayed_refs = in delete_delayed_ref_head() local
48 &trans->transaction->delayed_refs; in delete_delayed_ref_head()
50 spin_lock(&delayed_refs->lock); in delete_delayed_ref_head()
52 btrfs_delete_ref_head(fs_info, delayed_refs, head); in delete_delayed_ref_head()
54 spin_unlock(&delayed_refs->lock); in delete_delayed_ref_head()
170 struct btrfs_delayed_ref_root *delayed_refs = in simple_test() local
171 &trans->transaction->delayed_refs; in simple_test()
201 head = btrfs_select_ref_head(fs_info, delayed_refs); in simple_test()
227 btrfs_unselect_ref_head(delayed_refs, head); in simple_test()
402 head = btrfs_select_ref_head(fs_info, &trans->transaction->delayed_refs); in merge_tests()
[all …]
H A Dbtrfs-tests.c244 xa_init(&trans->delayed_refs.head_refs); in btrfs_init_dummy_transaction()
245 xa_init(&trans->delayed_refs.dirty_extents); in btrfs_init_dummy_transaction()
246 spin_lock_init(&trans->delayed_refs.lock); in btrfs_init_dummy_transaction()