Lines Matching refs:num_bytes
71 struct btrfs_qgroup *qgroup, u64 num_bytes, in qgroup_rsv_add() argument
74 trace_qgroup_update_reserve(fs_info, qgroup, num_bytes, type); in qgroup_rsv_add()
75 qgroup->rsv.values[type] += num_bytes; in qgroup_rsv_add()
79 struct btrfs_qgroup *qgroup, u64 num_bytes, in qgroup_rsv_release() argument
82 trace_qgroup_update_reserve(fs_info, qgroup, -(s64)num_bytes, type); in qgroup_rsv_release()
83 if (qgroup->rsv.values[type] >= num_bytes) { in qgroup_rsv_release()
84 qgroup->rsv.values[type] -= num_bytes; in qgroup_rsv_release()
91 qgroup->rsv.values[type], num_bytes); in qgroup_rsv_release()
1265 u64 num_bytes = src->excl; in __qgroup_excl_accounting() local
1272 qgroup->rfer += sign * num_bytes; in __qgroup_excl_accounting()
1273 qgroup->rfer_cmpr += sign * num_bytes; in __qgroup_excl_accounting()
1275 WARN_ON(sign < 0 && qgroup->excl < num_bytes); in __qgroup_excl_accounting()
1276 qgroup->excl += sign * num_bytes; in __qgroup_excl_accounting()
1277 qgroup->excl_cmpr += sign * num_bytes; in __qgroup_excl_accounting()
1298 qgroup->rfer += sign * num_bytes; in __qgroup_excl_accounting()
1299 qgroup->rfer_cmpr += sign * num_bytes; in __qgroup_excl_accounting()
1300 WARN_ON(sign < 0 && qgroup->excl < num_bytes); in __qgroup_excl_accounting()
1301 qgroup->excl += sign * num_bytes; in __qgroup_excl_accounting()
1306 qgroup->excl_cmpr += sign * num_bytes; in __qgroup_excl_accounting()
1757 u64 num_bytes, gfp_t gfp_flag) in btrfs_qgroup_trace_extent() argument
1765 || bytenr == 0 || num_bytes == 0) in btrfs_qgroup_trace_extent()
1773 record->num_bytes = num_bytes; in btrfs_qgroup_trace_extent()
1794 u64 bytenr, num_bytes; in btrfs_qgroup_trace_leaf_items() local
1817 num_bytes = btrfs_file_extent_disk_num_bytes(eb, fi); in btrfs_qgroup_trace_leaf_items()
1819 ret = btrfs_qgroup_trace_extent(trans, bytenr, num_bytes, in btrfs_qgroup_trace_leaf_items()
2419 u64 num_bytes, u64 seq) in qgroup_update_counters() argument
2439 qg->rfer += num_bytes; in qgroup_update_counters()
2440 qg->rfer_cmpr += num_bytes; in qgroup_update_counters()
2444 qg->rfer -= num_bytes; in qgroup_update_counters()
2445 qg->rfer_cmpr -= num_bytes; in qgroup_update_counters()
2455 qg->excl -= num_bytes; in qgroup_update_counters()
2456 qg->excl_cmpr -= num_bytes; in qgroup_update_counters()
2466 qg->excl += num_bytes; in qgroup_update_counters()
2467 qg->excl_cmpr += num_bytes; in qgroup_update_counters()
2480 qg->excl += num_bytes; in qgroup_update_counters()
2481 qg->excl_cmpr += num_bytes; in qgroup_update_counters()
2490 qg->excl -= num_bytes; in qgroup_update_counters()
2491 qg->excl_cmpr -= num_bytes; in qgroup_update_counters()
2534 u64 num_bytes, struct ulist *old_roots, in btrfs_qgroup_account_extent() argument
2570 num_bytes, nr_old_roots, nr_new_roots); in btrfs_qgroup_account_extent()
2609 num_bytes, seq); in btrfs_qgroup_account_extent()
2679 record->num_bytes, in btrfs_qgroup_account_extents()
2962 static bool qgroup_check_limits(const struct btrfs_qgroup *qg, u64 num_bytes) in qgroup_check_limits() argument
2965 qgroup_rsv_total(qg) + (s64)qg->rfer + num_bytes > qg->max_rfer) in qgroup_check_limits()
2969 qgroup_rsv_total(qg) + (s64)qg->excl + num_bytes > qg->max_excl) in qgroup_check_limits()
2975 static int qgroup_reserve(struct btrfs_root *root, u64 num_bytes, bool enforce, in qgroup_reserve() argument
2988 if (num_bytes == 0) in qgroup_reserve()
3019 if (enforce && !qgroup_check_limits(qg, num_bytes)) { in qgroup_reserve()
3042 qgroup_rsv_add(fs_info, qg, num_bytes, type); in qgroup_reserve()
3060 u64 ref_root, u64 num_bytes, in btrfs_qgroup_free_refroot() argument
3071 if (num_bytes == 0) in btrfs_qgroup_free_refroot()
3074 if (num_bytes == (u64)-1 && type != BTRFS_QGROUP_RSV_META_PERTRANS) { in btrfs_qgroup_free_refroot()
3087 if (num_bytes == (u64)-1) in btrfs_qgroup_free_refroot()
3092 num_bytes = qgroup->rsv.values[type]; in btrfs_qgroup_free_refroot()
3106 qgroup_rsv_release(fs_info, qg, num_bytes, type); in btrfs_qgroup_free_refroot()
3147 u64 num_bytes; in qgroup_rescan_leaf() local
3199 num_bytes = fs_info->nodesize; in qgroup_rescan_leaf()
3201 num_bytes = found.offset; in qgroup_rescan_leaf()
3209 num_bytes, NULL, roots); in qgroup_rescan_leaf()
3811 static void add_root_meta_rsv(struct btrfs_root *root, int num_bytes, in add_root_meta_rsv() argument
3817 if (num_bytes == 0) in add_root_meta_rsv()
3822 root->qgroup_meta_rsv_prealloc += num_bytes; in add_root_meta_rsv()
3824 root->qgroup_meta_rsv_pertrans += num_bytes; in add_root_meta_rsv()
3828 static int sub_root_meta_rsv(struct btrfs_root *root, int num_bytes, in sub_root_meta_rsv() argument
3834 if (num_bytes == 0) in sub_root_meta_rsv()
3839 num_bytes = min_t(u64, root->qgroup_meta_rsv_prealloc, in sub_root_meta_rsv()
3840 num_bytes); in sub_root_meta_rsv()
3841 root->qgroup_meta_rsv_prealloc -= num_bytes; in sub_root_meta_rsv()
3843 num_bytes = min_t(u64, root->qgroup_meta_rsv_pertrans, in sub_root_meta_rsv()
3844 num_bytes); in sub_root_meta_rsv()
3845 root->qgroup_meta_rsv_pertrans -= num_bytes; in sub_root_meta_rsv()
3848 return num_bytes; in sub_root_meta_rsv()
3851 int btrfs_qgroup_reserve_meta(struct btrfs_root *root, int num_bytes, in btrfs_qgroup_reserve_meta() argument
3858 !is_fstree(root->root_key.objectid) || num_bytes == 0) in btrfs_qgroup_reserve_meta()
3861 BUG_ON(num_bytes != round_down(num_bytes, fs_info->nodesize)); in btrfs_qgroup_reserve_meta()
3862 trace_qgroup_meta_reserve(root, (s64)num_bytes, type); in btrfs_qgroup_reserve_meta()
3863 ret = qgroup_reserve(root, num_bytes, enforce, type); in btrfs_qgroup_reserve_meta()
3874 add_root_meta_rsv(root, num_bytes, type); in btrfs_qgroup_reserve_meta()
3878 int __btrfs_qgroup_reserve_meta(struct btrfs_root *root, int num_bytes, in __btrfs_qgroup_reserve_meta() argument
3883 ret = btrfs_qgroup_reserve_meta(root, num_bytes, type, enforce); in __btrfs_qgroup_reserve_meta()
3890 return btrfs_qgroup_reserve_meta(root, num_bytes, type, enforce); in __btrfs_qgroup_reserve_meta()
3908 void __btrfs_qgroup_free_meta(struct btrfs_root *root, int num_bytes, in __btrfs_qgroup_free_meta() argument
3922 num_bytes = sub_root_meta_rsv(root, num_bytes, type); in __btrfs_qgroup_free_meta()
3923 BUG_ON(num_bytes != round_down(num_bytes, fs_info->nodesize)); in __btrfs_qgroup_free_meta()
3924 trace_qgroup_meta_reserve(root, -(s64)num_bytes, type); in __btrfs_qgroup_free_meta()
3926 num_bytes, type); in __btrfs_qgroup_free_meta()
3930 int num_bytes) in qgroup_convert_meta() argument
3937 if (num_bytes == 0) in qgroup_convert_meta()
3958 qgroup_rsv_release(fs_info, qg, num_bytes, in qgroup_convert_meta()
3960 qgroup_rsv_add(fs_info, qg, num_bytes, in qgroup_convert_meta()
3974 void btrfs_qgroup_convert_reserved_meta(struct btrfs_root *root, int num_bytes) in btrfs_qgroup_convert_reserved_meta() argument
3982 num_bytes = sub_root_meta_rsv(root, num_bytes, in btrfs_qgroup_convert_reserved_meta()
3984 trace_qgroup_meta_convert(root, num_bytes); in btrfs_qgroup_convert_reserved_meta()
3985 qgroup_convert_meta(fs_info, root->root_key.objectid, num_bytes); in btrfs_qgroup_convert_reserved_meta()