Lines Matching refs:num_bytes

70 			   struct btrfs_qgroup *qgroup, u64 num_bytes,
73 trace_qgroup_update_reserve(fs_info, qgroup, num_bytes, type);
74 qgroup->rsv.values[type] += num_bytes;
78 struct btrfs_qgroup *qgroup, u64 num_bytes,
81 trace_qgroup_update_reserve(fs_info, qgroup, -(s64)num_bytes, type);
82 if (qgroup->rsv.values[type] >= num_bytes) {
83 qgroup->rsv.values[type] -= num_bytes;
90 qgroup->rsv.values[type], num_bytes);
1335 u64 num_bytes = src->excl;
1342 qgroup->rfer += sign * num_bytes;
1343 qgroup->rfer_cmpr += sign * num_bytes;
1345 WARN_ON(sign < 0 && qgroup->excl < num_bytes);
1346 qgroup->excl += sign * num_bytes;
1347 qgroup->excl_cmpr += sign * num_bytes;
1368 qgroup->rfer += sign * num_bytes;
1369 qgroup->rfer_cmpr += sign * num_bytes;
1370 WARN_ON(sign < 0 && qgroup->excl < num_bytes);
1371 qgroup->excl += sign * num_bytes;
1376 qgroup->excl_cmpr += sign * num_bytes;
1819 u64 num_bytes, gfp_t gfp_flag)
1827 || bytenr == 0 || num_bytes == 0)
1835 record->num_bytes = num_bytes;
1856 u64 bytenr, num_bytes;
1879 num_bytes = btrfs_file_extent_disk_num_bytes(eb, fi);
1881 ret = btrfs_qgroup_trace_extent(trans, bytenr, num_bytes,
2513 u64 num_bytes, u64 seq)
2533 qg->rfer += num_bytes;
2534 qg->rfer_cmpr += num_bytes;
2538 qg->rfer -= num_bytes;
2539 qg->rfer_cmpr -= num_bytes;
2549 qg->excl -= num_bytes;
2550 qg->excl_cmpr -= num_bytes;
2560 qg->excl += num_bytes;
2561 qg->excl_cmpr += num_bytes;
2574 qg->excl += num_bytes;
2575 qg->excl_cmpr += num_bytes;
2584 qg->excl -= num_bytes;
2585 qg->excl_cmpr -= num_bytes;
2628 u64 num_bytes, struct ulist *old_roots,
2664 num_bytes, nr_old_roots, nr_new_roots);
2703 num_bytes, seq);
2773 record->num_bytes,
3058 static bool qgroup_check_limits(const struct btrfs_qgroup *qg, u64 num_bytes)
3061 qgroup_rsv_total(qg) + (s64)qg->rfer + num_bytes > qg->max_rfer)
3065 qgroup_rsv_total(qg) + (s64)qg->excl + num_bytes > qg->max_excl)
3071 static int qgroup_reserve(struct btrfs_root *root, u64 num_bytes, bool enforce,
3084 if (num_bytes == 0)
3115 if (enforce && !qgroup_check_limits(qg, num_bytes)) {
3138 qgroup_rsv_add(fs_info, qg, num_bytes, type);
3147 * Free @num_bytes of reserved space with @type for qgroup. (Normally level 0
3152 * NOTE: If @num_bytes is (u64)-1, this means to free all bytes of this qgroup.
3156 u64 ref_root, u64 num_bytes,
3167 if (num_bytes == 0)
3170 if (num_bytes == (u64)-1 && type != BTRFS_QGROUP_RSV_META_PERTRANS) {
3183 if (num_bytes == (u64)-1)
3186 * level 0 qgroup as real num_bytes to free.
3188 num_bytes = qgroup->rsv.values[type];
3202 qgroup_rsv_release(fs_info, qg, num_bytes, type);
3243 u64 num_bytes;
3295 num_bytes = fs_info->nodesize;
3297 num_bytes = found.offset;
3305 num_bytes, NULL, roots);
3942 static void add_root_meta_rsv(struct btrfs_root *root, int num_bytes,
3948 if (num_bytes == 0)
3953 root->qgroup_meta_rsv_prealloc += num_bytes;
3955 root->qgroup_meta_rsv_pertrans += num_bytes;
3959 static int sub_root_meta_rsv(struct btrfs_root *root, int num_bytes,
3965 if (num_bytes == 0)
3970 num_bytes = min_t(u64, root->qgroup_meta_rsv_prealloc,
3971 num_bytes);
3972 root->qgroup_meta_rsv_prealloc -= num_bytes;
3974 num_bytes = min_t(u64, root->qgroup_meta_rsv_pertrans,
3975 num_bytes);
3976 root->qgroup_meta_rsv_pertrans -= num_bytes;
3979 return num_bytes;
3982 int btrfs_qgroup_reserve_meta(struct btrfs_root *root, int num_bytes,
3989 !is_fstree(root->root_key.objectid) || num_bytes == 0)
3992 BUG_ON(num_bytes != round_down(num_bytes, fs_info->nodesize));
3993 trace_qgroup_meta_reserve(root, (s64)num_bytes, type);
3994 ret = qgroup_reserve(root, num_bytes, enforce, type);
4005 add_root_meta_rsv(root, num_bytes, type);
4009 int __btrfs_qgroup_reserve_meta(struct btrfs_root *root, int num_bytes,
4014 ret = btrfs_qgroup_reserve_meta(root, num_bytes, type, enforce);
4021 return btrfs_qgroup_reserve_meta(root, num_bytes, type, enforce);
4039 void __btrfs_qgroup_free_meta(struct btrfs_root *root, int num_bytes,
4053 num_bytes = sub_root_meta_rsv(root, num_bytes, type);
4054 BUG_ON(num_bytes != round_down(num_bytes, fs_info->nodesize));
4055 trace_qgroup_meta_reserve(root, -(s64)num_bytes, type);
4057 num_bytes, type);
4061 int num_bytes)
4068 if (num_bytes == 0)
4089 qgroup_rsv_release(fs_info, qg, num_bytes,
4091 qgroup_rsv_add(fs_info, qg, num_bytes,
4105 void btrfs_qgroup_convert_reserved_meta(struct btrfs_root *root, int num_bytes)
4113 num_bytes = sub_root_meta_rsv(root, num_bytes,
4115 trace_qgroup_meta_convert(root, num_bytes);
4116 qgroup_convert_meta(fs_info, root->root_key.objectid, num_bytes);