Lines Matching refs:num_bytes

64 			   struct btrfs_qgroup *qgroup, u64 num_bytes,
67 trace_qgroup_update_reserve(fs_info, qgroup, num_bytes, type);
68 qgroup->rsv.values[type] += num_bytes;
72 struct btrfs_qgroup *qgroup, u64 num_bytes,
75 trace_qgroup_update_reserve(fs_info, qgroup, -(s64)num_bytes, type);
76 if (qgroup->rsv.values[type] >= num_bytes) {
77 qgroup->rsv.values[type] -= num_bytes;
84 qgroup->rsv.values[type], num_bytes);
1386 u64 num_bytes = src->excl;
1393 qgroup->rfer += sign * num_bytes;
1394 qgroup->rfer_cmpr += sign * num_bytes;
1396 WARN_ON(sign < 0 && qgroup->excl < num_bytes);
1397 qgroup->excl += sign * num_bytes;
1398 qgroup->excl_cmpr += sign * num_bytes;
1419 qgroup->rfer += sign * num_bytes;
1420 qgroup->rfer_cmpr += sign * num_bytes;
1421 WARN_ON(sign < 0 && qgroup->excl < num_bytes);
1422 qgroup->excl += sign * num_bytes;
1427 qgroup->excl_cmpr += sign * num_bytes;
1896 u64 num_bytes)
1904 || bytenr == 0 || num_bytes == 0)
1912 record->num_bytes = num_bytes;
1933 u64 bytenr, num_bytes;
1956 num_bytes = btrfs_file_extent_disk_num_bytes(eb, fi);
1958 ret = btrfs_qgroup_trace_extent(trans, bytenr, num_bytes);
2579 u64 num_bytes, u64 seq)
2599 qg->rfer += num_bytes;
2600 qg->rfer_cmpr += num_bytes;
2604 qg->rfer -= num_bytes;
2605 qg->rfer_cmpr -= num_bytes;
2615 qg->excl -= num_bytes;
2616 qg->excl_cmpr -= num_bytes;
2626 qg->excl += num_bytes;
2627 qg->excl_cmpr += num_bytes;
2640 qg->excl += num_bytes;
2641 qg->excl_cmpr += num_bytes;
2650 qg->excl -= num_bytes;
2651 qg->excl_cmpr -= num_bytes;
2694 u64 num_bytes, struct ulist *old_roots,
2731 num_bytes, nr_old_roots, nr_new_roots);
2770 num_bytes, seq);
2853 record->num_bytes,
3141 static bool qgroup_check_limits(const struct btrfs_qgroup *qg, u64 num_bytes)
3144 qgroup_rsv_total(qg) + (s64)qg->rfer + num_bytes > qg->max_rfer)
3148 qgroup_rsv_total(qg) + (s64)qg->excl + num_bytes > qg->max_excl)
3154 static int qgroup_reserve(struct btrfs_root *root, u64 num_bytes, bool enforce,
3166 if (num_bytes == 0)
3185 if (enforce && !qgroup_check_limits(qgroup, num_bytes)) {
3199 qgroup_rsv_add(fs_info, qgroup, num_bytes, type);
3208 * Free @num_bytes of reserved space with @type for qgroup. (Normally level 0
3213 * NOTE: If @num_bytes is (u64)-1, this means to free all bytes of this qgroup.
3217 u64 ref_root, u64 num_bytes,
3228 if (num_bytes == 0)
3231 if (num_bytes == (u64)-1 && type != BTRFS_QGROUP_RSV_META_PERTRANS) {
3244 if (num_bytes == (u64)-1)
3247 * level 0 qgroup as real num_bytes to free.
3249 num_bytes = qgroup->rsv.values[type];
3263 qgroup_rsv_release(fs_info, qg, num_bytes, type);
3304 u64 num_bytes;
3360 num_bytes = fs_info->nodesize;
3362 num_bytes = found.offset;
3372 num_bytes, NULL, ctx.roots);
4000 static void add_root_meta_rsv(struct btrfs_root *root, int num_bytes,
4006 if (num_bytes == 0)
4011 root->qgroup_meta_rsv_prealloc += num_bytes;
4013 root->qgroup_meta_rsv_pertrans += num_bytes;
4017 static int sub_root_meta_rsv(struct btrfs_root *root, int num_bytes,
4023 if (num_bytes == 0)
4028 num_bytes = min_t(u64, root->qgroup_meta_rsv_prealloc,
4029 num_bytes);
4030 root->qgroup_meta_rsv_prealloc -= num_bytes;
4032 num_bytes = min_t(u64, root->qgroup_meta_rsv_pertrans,
4033 num_bytes);
4034 root->qgroup_meta_rsv_pertrans -= num_bytes;
4037 return num_bytes;
4040 int btrfs_qgroup_reserve_meta(struct btrfs_root *root, int num_bytes,
4047 !is_fstree(root->root_key.objectid) || num_bytes == 0)
4050 BUG_ON(num_bytes != round_down(num_bytes, fs_info->nodesize));
4051 trace_qgroup_meta_reserve(root, (s64)num_bytes, type);
4052 ret = qgroup_reserve(root, num_bytes, enforce, type);
4063 add_root_meta_rsv(root, num_bytes, type);
4067 int __btrfs_qgroup_reserve_meta(struct btrfs_root *root, int num_bytes,
4073 ret = btrfs_qgroup_reserve_meta(root, num_bytes, type, enforce);
4080 return btrfs_qgroup_reserve_meta(root, num_bytes, type, enforce);
4098 void __btrfs_qgroup_free_meta(struct btrfs_root *root, int num_bytes,
4112 num_bytes = sub_root_meta_rsv(root, num_bytes, type);
4113 BUG_ON(num_bytes != round_down(num_bytes, fs_info->nodesize));
4114 trace_qgroup_meta_reserve(root, -(s64)num_bytes, type);
4116 num_bytes, type);
4120 int num_bytes)
4125 if (num_bytes == 0)
4139 qgroup_rsv_release(fs_info, qgroup, num_bytes,
4142 qgroup_rsv_add(fs_info, qgroup, num_bytes,
4153 void btrfs_qgroup_convert_reserved_meta(struct btrfs_root *root, int num_bytes)
4161 num_bytes = sub_root_meta_rsv(root, num_bytes,
4163 trace_qgroup_meta_convert(root, num_bytes);
4164 qgroup_convert_meta(fs_info, root->root_key.objectid, num_bytes);