Searched refs:delayed_refs (Results 1 – 9 of 9) sorted by relevance
| /linux/fs/btrfs/ |
| H A D | delayed-ref.c | 349 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 D | delayed-ref.h | 387 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 D | extent-tree.c | 104 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 D | transaction.c | 145 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 D | qgroup.c | 2007 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 D | backref.c | 1383 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 D | qgroup.h | 355 struct btrfs_delayed_ref_root *delayed_refs,
|
| /linux/fs/btrfs/tests/ |
| H A D | delayed-refs-tests.c | 47 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 D | btrfs-tests.c | 244 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()
|