Lines Matching defs:bctl

3269 			       struct btrfs_balance_control *bctl)
3304 btrfs_cpu_balance_args_to_disk(&disk_bargs, &bctl->data);
3306 btrfs_cpu_balance_args_to_disk(&disk_bargs, &bctl->meta);
3308 btrfs_cpu_balance_args_to_disk(&disk_bargs, &bctl->sys);
3311 btrfs_set_balance_flags(leaf, item, bctl->flags);
3365 static void update_balance_args(struct btrfs_balance_control *bctl)
3370 if (bctl->data.flags & BTRFS_BALANCE_ARGS_CONVERT)
3371 bctl->data.flags |= BTRFS_BALANCE_ARGS_SOFT;
3372 if (bctl->sys.flags & BTRFS_BALANCE_ARGS_CONVERT)
3373 bctl->sys.flags |= BTRFS_BALANCE_ARGS_SOFT;
3374 if (bctl->meta.flags & BTRFS_BALANCE_ARGS_CONVERT)
3375 bctl->meta.flags |= BTRFS_BALANCE_ARGS_SOFT;
3384 if (!(bctl->data.flags & BTRFS_BALANCE_ARGS_USAGE) &&
3385 !(bctl->data.flags & BTRFS_BALANCE_ARGS_USAGE_RANGE) &&
3386 !(bctl->data.flags & BTRFS_BALANCE_ARGS_CONVERT)) {
3387 bctl->data.flags |= BTRFS_BALANCE_ARGS_USAGE;
3388 bctl->data.usage = 90;
3390 if (!(bctl->sys.flags & BTRFS_BALANCE_ARGS_USAGE) &&
3391 !(bctl->sys.flags & BTRFS_BALANCE_ARGS_USAGE_RANGE) &&
3392 !(bctl->sys.flags & BTRFS_BALANCE_ARGS_CONVERT)) {
3393 bctl->sys.flags |= BTRFS_BALANCE_ARGS_USAGE;
3394 bctl->sys.usage = 90;
3396 if (!(bctl->meta.flags & BTRFS_BALANCE_ARGS_USAGE) &&
3397 !(bctl->meta.flags & BTRFS_BALANCE_ARGS_USAGE_RANGE) &&
3398 !(bctl->meta.flags & BTRFS_BALANCE_ARGS_CONVERT)) {
3399 bctl->meta.flags |= BTRFS_BALANCE_ARGS_USAGE;
3400 bctl->meta.usage = 90;
3409 struct btrfs_balance_control *bctl = fs_info->balance_ctl;
3418 kfree(bctl);
3608 struct btrfs_balance_control *bctl = fs_info->balance_ctl;
3614 (bctl->flags & BTRFS_BALANCE_TYPE_MASK))) {
3619 bargs = &bctl->data;
3621 bargs = &bctl->sys;
3623 bargs = &bctl->meta;
3695 struct btrfs_balance_control *bctl = fs_info->balance_ctl;
3708 u64 limit_data = bctl->data.limit;
3709 u64 limit_meta = bctl->meta.limit;
3710 u64 limit_sys = bctl->sys.limit;
3724 memset(&bctl->stat, 0, sizeof(bctl->stat));
3732 bctl->data.limit = limit_data;
3733 bctl->meta.limit = limit_meta;
3734 bctl->sys.limit = limit_sys;
3783 bctl->stat.considered++;
3798 bctl->stat.expected++;
3816 count_data < bctl->data.limit_min)
3818 count_meta < bctl->meta.limit_min)
3820 count_sys < bctl->sys.limit_min)) {
3855 bctl->stat.completed++;
4039 struct btrfs_balance_control *bctl = fs_info->balance_ctl;
4056 if (bctl->flags & BTRFS_BALANCE_FORCE)
4059 if (bctl->flags & BTRFS_BALANCE_DATA) {
4060 describe_balance_args(&bctl->data, tmp_buf, sizeof(tmp_buf));
4064 if (bctl->flags & BTRFS_BALANCE_METADATA) {
4065 describe_balance_args(&bctl->meta, tmp_buf, sizeof(tmp_buf));
4069 if (bctl->flags & BTRFS_BALANCE_SYSTEM) {
4070 describe_balance_args(&bctl->sys, tmp_buf, sizeof(tmp_buf));
4081 (bctl->flags & BTRFS_BALANCE_RESUME) ?
4091 struct btrfs_balance_control *bctl,
4119 if (mixed && (bctl->flags & allowed)) {
4120 if (!(bctl->flags & BTRFS_BALANCE_DATA) ||
4121 !(bctl->flags & BTRFS_BALANCE_METADATA) ||
4122 memcmp(&bctl->data, &bctl->meta, sizeof(bctl->data))) {
4146 if (!validate_convert_profile(fs_info, &bctl->data, allowed, "data") ||
4147 !validate_convert_profile(fs_info, &bctl->meta, allowed, "metadata") ||
4148 !validate_convert_profile(fs_info, &bctl->sys, allowed, "system")) {
4166 if (((bctl->sys.flags & BTRFS_BALANCE_ARGS_CONVERT) &&
4168 !(bctl->sys.target & allowed)) ||
4169 ((bctl->meta.flags & BTRFS_BALANCE_ARGS_CONVERT) &&
4171 !(bctl->meta.target & allowed)))
4177 meta_target = (bctl->meta.flags & BTRFS_BALANCE_ARGS_CONVERT) ?
4178 bctl->meta.target : fs_info->avail_metadata_alloc_bits;
4179 data_target = (bctl->data.flags & BTRFS_BALANCE_ARGS_CONVERT) ?
4180 bctl->data.target : fs_info->avail_data_alloc_bits;
4184 if (bctl->flags & BTRFS_BALANCE_FORCE) {
4211 ret = insert_balance_item(fs_info, bctl);
4215 if (!(bctl->flags & BTRFS_BALANCE_RESUME)) {
4219 fs_info->balance_ctl = bctl;
4224 update_balance_args(bctl);
4275 if (bctl->flags & BTRFS_BALANCE_RESUME)
4278 kfree(bctl);
4330 struct btrfs_balance_control *bctl;
4354 bctl = kzalloc(sizeof(*bctl), GFP_NOFS);
4355 if (!bctl) {
4363 bctl->flags = btrfs_balance_flags(leaf, item);
4364 bctl->flags |= BTRFS_BALANCE_RESUME;
4367 btrfs_disk_balance_args_to_cpu(&bctl->data, &disk_bargs);
4369 btrfs_disk_balance_args_to_cpu(&bctl->meta, &disk_bargs);
4371 btrfs_disk_balance_args_to_cpu(&bctl->sys, &disk_bargs);
4392 fs_info->balance_ctl = bctl;