Lines Matching defs:trans

53 int btrfs_should_throttle_delayed_refs(struct btrfs_trans_handle *trans)
56 atomic_read(&trans->transaction->delayed_refs.num_entries);
61 avg_runtime = trans->fs_info->avg_delayed_ref_runtime;
68 return btrfs_check_space_for_delayed_refs(trans->fs_info);
93 * @trans - the trans that may have generated delayed refs
95 * This is to be called anytime we may have adjusted trans->delayed_ref_updates,
98 void btrfs_update_delayed_refs_rsv(struct btrfs_trans_handle *trans)
100 struct btrfs_fs_info *fs_info = trans->fs_info;
104 if (!trans->delayed_ref_updates)
108 trans->delayed_ref_updates);
113 trans->delayed_ref_updates = 0;
414 static inline void drop_delayed_ref(struct btrfs_trans_handle *trans,
429 static bool merge_ref(struct btrfs_trans_handle *trans,
459 drop_delayed_ref(trans, delayed_refs, head, next);
462 drop_delayed_ref(trans, delayed_refs, head, ref);
476 void btrfs_merge_delayed_refs(struct btrfs_trans_handle *trans,
480 struct btrfs_fs_info *fs_info = trans->fs_info;
510 if (merge_ref(trans, delayed_refs, head, ref, seq))
594 static int insert_delayed_ref(struct btrfs_trans_handle *trans,
634 drop_delayed_ref(trans, root, href, exist);
649 static noinline void update_existing_head_ref(struct btrfs_trans_handle *trans,
654 &trans->transaction->delayed_refs;
655 struct btrfs_fs_info *fs_info = trans->fs_info;
722 trans->delayed_ref_updates += csum_leaves;
817 add_delayed_ref_head(struct btrfs_trans_handle *trans,
826 delayed_refs = &trans->transaction->delayed_refs;
830 if (btrfs_qgroup_trace_extent_nolock(trans->fs_info,
837 trace_add_delayed_ref_head(trans->fs_info, head_ref, action);
842 update_existing_head_ref(trans, existing, head_ref);
854 trans->delayed_ref_updates +=
855 btrfs_csum_bytes_to_leaves(trans->fs_info,
859 btrfs_mod_total_bytes_pinned(trans->fs_info, flags,
864 trans->delayed_ref_updates++;
928 int btrfs_add_delayed_tree_ref(struct btrfs_trans_handle *trans,
932 struct btrfs_fs_info *fs_info = trans->fs_info;
989 delayed_refs = &trans->transaction->delayed_refs;
996 head_ref = add_delayed_ref_head(trans, head_ref, record,
999 ret = insert_delayed_ref(trans, delayed_refs, head_ref, &ref->node);
1006 btrfs_update_delayed_refs_rsv(trans);
1023 int btrfs_add_delayed_data_ref(struct btrfs_trans_handle *trans,
1027 struct btrfs_fs_info *fs_info = trans->fs_info;
1083 delayed_refs = &trans->transaction->delayed_refs;
1090 head_ref = add_delayed_ref_head(trans, head_ref, record,
1093 ret = insert_delayed_ref(trans, delayed_refs, head_ref, &ref->node);
1100 btrfs_update_delayed_refs_rsv(trans);
1102 trace_add_delayed_data_ref(trans->fs_info, &ref->node, ref,
1114 int btrfs_add_delayed_extent_op(struct btrfs_trans_handle *trans,
1130 delayed_refs = &trans->transaction->delayed_refs;
1133 add_delayed_ref_head(trans, head_ref, NULL, BTRFS_UPDATE_DELAYED_HEAD,
1142 btrfs_update_delayed_refs_rsv(trans);