Lines Matching defs:bctl

3443 			       struct btrfs_balance_control *bctl)
3478 btrfs_cpu_balance_args_to_disk(&disk_bargs, &bctl->data);
3480 btrfs_cpu_balance_args_to_disk(&disk_bargs, &bctl->meta);
3482 btrfs_cpu_balance_args_to_disk(&disk_bargs, &bctl->sys);
3485 btrfs_set_balance_flags(leaf, item, bctl->flags);
3539 static void update_balance_args(struct btrfs_balance_control *bctl)
3544 if (bctl->data.flags & BTRFS_BALANCE_ARGS_CONVERT)
3545 bctl->data.flags |= BTRFS_BALANCE_ARGS_SOFT;
3546 if (bctl->sys.flags & BTRFS_BALANCE_ARGS_CONVERT)
3547 bctl->sys.flags |= BTRFS_BALANCE_ARGS_SOFT;
3548 if (bctl->meta.flags & BTRFS_BALANCE_ARGS_CONVERT)
3549 bctl->meta.flags |= BTRFS_BALANCE_ARGS_SOFT;
3558 if (!(bctl->data.flags & BTRFS_BALANCE_ARGS_USAGE) &&
3559 !(bctl->data.flags & BTRFS_BALANCE_ARGS_USAGE_RANGE) &&
3560 !(bctl->data.flags & BTRFS_BALANCE_ARGS_CONVERT)) {
3561 bctl->data.flags |= BTRFS_BALANCE_ARGS_USAGE;
3562 bctl->data.usage = 90;
3564 if (!(bctl->sys.flags & BTRFS_BALANCE_ARGS_USAGE) &&
3565 !(bctl->sys.flags & BTRFS_BALANCE_ARGS_USAGE_RANGE) &&
3566 !(bctl->sys.flags & BTRFS_BALANCE_ARGS_CONVERT)) {
3567 bctl->sys.flags |= BTRFS_BALANCE_ARGS_USAGE;
3568 bctl->sys.usage = 90;
3570 if (!(bctl->meta.flags & BTRFS_BALANCE_ARGS_USAGE) &&
3571 !(bctl->meta.flags & BTRFS_BALANCE_ARGS_USAGE_RANGE) &&
3572 !(bctl->meta.flags & BTRFS_BALANCE_ARGS_CONVERT)) {
3573 bctl->meta.flags |= BTRFS_BALANCE_ARGS_USAGE;
3574 bctl->meta.usage = 90;
3583 struct btrfs_balance_control *bctl = fs_info->balance_ctl;
3592 kfree(bctl);
3777 struct btrfs_balance_control *bctl = fs_info->balance_ctl;
3783 (bctl->flags & BTRFS_BALANCE_TYPE_MASK))) {
3788 bargs = &bctl->data;
3790 bargs = &bctl->sys;
3792 bargs = &bctl->meta;
3864 struct btrfs_balance_control *bctl = fs_info->balance_ctl;
3877 u64 limit_data = bctl->data.limit;
3878 u64 limit_meta = bctl->meta.limit;
3879 u64 limit_sys = bctl->sys.limit;
3893 memset(&bctl->stat, 0, sizeof(bctl->stat));
3901 bctl->data.limit = limit_data;
3902 bctl->meta.limit = limit_meta;
3903 bctl->sys.limit = limit_sys;
3952 bctl->stat.considered++;
3967 bctl->stat.expected++;
3985 count_data < bctl->data.limit_min)
3987 count_meta < bctl->meta.limit_min)
3989 count_sys < bctl->sys.limit_min)) {
4024 bctl->stat.completed++;
4201 struct btrfs_balance_control *bctl = fs_info->balance_ctl;
4218 if (bctl->flags & BTRFS_BALANCE_FORCE)
4221 if (bctl->flags & BTRFS_BALANCE_DATA) {
4222 describe_balance_args(&bctl->data, tmp_buf, sizeof(tmp_buf));
4226 if (bctl->flags & BTRFS_BALANCE_METADATA) {
4227 describe_balance_args(&bctl->meta, tmp_buf, sizeof(tmp_buf));
4231 if (bctl->flags & BTRFS_BALANCE_SYSTEM) {
4232 describe_balance_args(&bctl->sys, tmp_buf, sizeof(tmp_buf));
4243 (bctl->flags & BTRFS_BALANCE_RESUME) ?
4253 struct btrfs_balance_control *bctl,
4282 if (mixed && (bctl->flags & allowed)) {
4283 if (!(bctl->flags & BTRFS_BALANCE_DATA) ||
4284 !(bctl->flags & BTRFS_BALANCE_METADATA) ||
4285 memcmp(&bctl->data, &bctl->meta, sizeof(bctl->data))) {
4309 if (!validate_convert_profile(fs_info, &bctl->data, allowed, "data") ||
4310 !validate_convert_profile(fs_info, &bctl->meta, allowed, "metadata") ||
4311 !validate_convert_profile(fs_info, &bctl->sys, allowed, "system")) {
4329 if (((bctl->sys.flags & BTRFS_BALANCE_ARGS_CONVERT) &&
4331 !(bctl->sys.target & allowed)) ||
4332 ((bctl->meta.flags & BTRFS_BALANCE_ARGS_CONVERT) &&
4334 !(bctl->meta.target & allowed)))
4340 meta_target = (bctl->meta.flags & BTRFS_BALANCE_ARGS_CONVERT) ?
4341 bctl->meta.target : fs_info->avail_metadata_alloc_bits;
4342 data_target = (bctl->data.flags & BTRFS_BALANCE_ARGS_CONVERT) ?
4343 bctl->data.target : fs_info->avail_data_alloc_bits;
4347 if (bctl->flags & BTRFS_BALANCE_FORCE) {
4366 ret = insert_balance_item(fs_info, bctl);
4370 if (!(bctl->flags & BTRFS_BALANCE_RESUME)) {
4374 fs_info->balance_ctl = bctl;
4379 update_balance_args(bctl);
4433 if (bctl->flags & BTRFS_BALANCE_RESUME)
4436 kfree(bctl);
4492 struct btrfs_balance_control *bctl;
4516 bctl = kzalloc(sizeof(*bctl), GFP_NOFS);
4517 if (!bctl) {
4525 bctl->flags = btrfs_balance_flags(leaf, item);
4526 bctl->flags |= BTRFS_BALANCE_RESUME;
4529 btrfs_disk_balance_args_to_cpu(&bctl->data, &disk_bargs);
4531 btrfs_disk_balance_args_to_cpu(&bctl->meta, &disk_bargs);
4533 btrfs_disk_balance_args_to_cpu(&bctl->sys, &disk_bargs);
4554 fs_info->balance_ctl = bctl;