Lines Matching defs:bctl

3638 			       struct btrfs_balance_control *bctl)
3673 btrfs_cpu_balance_args_to_disk(&disk_bargs, &bctl->data);
3675 btrfs_cpu_balance_args_to_disk(&disk_bargs, &bctl->meta);
3677 btrfs_cpu_balance_args_to_disk(&disk_bargs, &bctl->sys);
3679 btrfs_set_balance_flags(leaf, item, bctl->flags);
3731 static void update_balance_args(struct btrfs_balance_control *bctl)
3736 if (bctl->data.flags & BTRFS_BALANCE_ARGS_CONVERT)
3737 bctl->data.flags |= BTRFS_BALANCE_ARGS_SOFT;
3738 if (bctl->sys.flags & BTRFS_BALANCE_ARGS_CONVERT)
3739 bctl->sys.flags |= BTRFS_BALANCE_ARGS_SOFT;
3740 if (bctl->meta.flags & BTRFS_BALANCE_ARGS_CONVERT)
3741 bctl->meta.flags |= BTRFS_BALANCE_ARGS_SOFT;
3750 if (!(bctl->data.flags & BTRFS_BALANCE_ARGS_USAGE) &&
3751 !(bctl->data.flags & BTRFS_BALANCE_ARGS_USAGE_RANGE) &&
3752 !(bctl->data.flags & BTRFS_BALANCE_ARGS_CONVERT)) {
3753 bctl->data.flags |= BTRFS_BALANCE_ARGS_USAGE;
3754 bctl->data.usage = 90;
3756 if (!(bctl->sys.flags & BTRFS_BALANCE_ARGS_USAGE) &&
3757 !(bctl->sys.flags & BTRFS_BALANCE_ARGS_USAGE_RANGE) &&
3758 !(bctl->sys.flags & BTRFS_BALANCE_ARGS_CONVERT)) {
3759 bctl->sys.flags |= BTRFS_BALANCE_ARGS_USAGE;
3760 bctl->sys.usage = 90;
3762 if (!(bctl->meta.flags & BTRFS_BALANCE_ARGS_USAGE) &&
3763 !(bctl->meta.flags & BTRFS_BALANCE_ARGS_USAGE_RANGE) &&
3764 !(bctl->meta.flags & BTRFS_BALANCE_ARGS_CONVERT)) {
3765 bctl->meta.flags |= BTRFS_BALANCE_ARGS_USAGE;
3766 bctl->meta.usage = 90;
3775 struct btrfs_balance_control *bctl = fs_info->balance_ctl;
3784 kfree(bctl);
3963 struct btrfs_balance_control *bctl = fs_info->balance_ctl;
3969 (bctl->flags & BTRFS_BALANCE_TYPE_MASK))) {
3974 bargs = &bctl->data;
3976 bargs = &bctl->sys;
3978 bargs = &bctl->meta;
4050 struct btrfs_balance_control *bctl = fs_info->balance_ctl;
4063 u64 limit_data = bctl->data.limit;
4064 u64 limit_meta = bctl->meta.limit;
4065 u64 limit_sys = bctl->sys.limit;
4079 memset(&bctl->stat, 0, sizeof(bctl->stat));
4087 bctl->data.limit = limit_data;
4088 bctl->meta.limit = limit_meta;
4089 bctl->sys.limit = limit_sys;
4138 bctl->stat.considered++;
4153 bctl->stat.expected++;
4171 count_data < bctl->data.limit_min)
4173 count_meta < bctl->meta.limit_min)
4175 count_sys < bctl->sys.limit_min)) {
4210 bctl->stat.completed++;
4386 struct btrfs_balance_control *bctl = fs_info->balance_ctl;
4403 if (bctl->flags & BTRFS_BALANCE_FORCE)
4406 if (bctl->flags & BTRFS_BALANCE_DATA) {
4407 describe_balance_args(&bctl->data, tmp_buf, sizeof(tmp_buf));
4411 if (bctl->flags & BTRFS_BALANCE_METADATA) {
4412 describe_balance_args(&bctl->meta, tmp_buf, sizeof(tmp_buf));
4416 if (bctl->flags & BTRFS_BALANCE_SYSTEM) {
4417 describe_balance_args(&bctl->sys, tmp_buf, sizeof(tmp_buf));
4428 (bctl->flags & BTRFS_BALANCE_RESUME) ?
4436 struct btrfs_balance_control *bctl,
4465 if (mixed && (bctl->flags & allowed)) {
4466 if (!(bctl->flags & BTRFS_BALANCE_DATA) ||
4467 !(bctl->flags & BTRFS_BALANCE_METADATA) ||
4468 memcmp(&bctl->data, &bctl->meta, sizeof(bctl->data))) {
4492 if (!validate_convert_profile(fs_info, &bctl->data, allowed, "data") ||
4493 !validate_convert_profile(fs_info, &bctl->meta, allowed, "metadata") ||
4494 !validate_convert_profile(fs_info, &bctl->sys, allowed, "system")) {
4512 if (((bctl->sys.flags & BTRFS_BALANCE_ARGS_CONVERT) &&
4514 !(bctl->sys.target & allowed)) ||
4515 ((bctl->meta.flags & BTRFS_BALANCE_ARGS_CONVERT) &&
4517 !(bctl->meta.target & allowed)))
4523 meta_target = (bctl->meta.flags & BTRFS_BALANCE_ARGS_CONVERT) ?
4524 bctl->meta.target : fs_info->avail_metadata_alloc_bits;
4525 data_target = (bctl->data.flags & BTRFS_BALANCE_ARGS_CONVERT) ?
4526 bctl->data.target : fs_info->avail_data_alloc_bits;
4530 if (bctl->flags & BTRFS_BALANCE_FORCE) {
4549 ret = insert_balance_item(fs_info, bctl);
4553 if (!(bctl->flags & BTRFS_BALANCE_RESUME)) {
4557 fs_info->balance_ctl = bctl;
4562 update_balance_args(bctl);
4616 if (bctl->flags & BTRFS_BALANCE_RESUME)
4619 kfree(bctl);
4676 struct btrfs_balance_control *bctl;
4699 bctl = kzalloc(sizeof(*bctl), GFP_NOFS);
4700 if (!bctl)
4706 bctl->flags = btrfs_balance_flags(leaf, item);
4707 bctl->flags |= BTRFS_BALANCE_RESUME;
4710 btrfs_disk_balance_args_to_cpu(&bctl->data, &disk_bargs);
4712 btrfs_disk_balance_args_to_cpu(&bctl->meta, &disk_bargs);
4714 btrfs_disk_balance_args_to_cpu(&bctl->sys, &disk_bargs);
4735 fs_info->balance_ctl = bctl;