Lines Matching refs:bargs

3557 				 struct btrfs_balance_args *bargs)  in chunk_profiles_filter()  argument
3562 if (bargs->profiles & chunk_type) in chunk_profiles_filter()
3569 struct btrfs_balance_args *bargs) in chunk_usage_range_filter() argument
3580 if (bargs->usage_min == 0) in chunk_usage_range_filter()
3584 bargs->usage_min); in chunk_usage_range_filter()
3586 if (bargs->usage_max == 0) in chunk_usage_range_filter()
3588 else if (bargs->usage_max > 100) in chunk_usage_range_filter()
3592 bargs->usage_max); in chunk_usage_range_filter()
3602 u64 chunk_offset, struct btrfs_balance_args *bargs) in chunk_usage_filter() argument
3611 if (bargs->usage_min == 0) in chunk_usage_filter()
3613 else if (bargs->usage > 100) in chunk_usage_filter()
3616 user_thresh = div_factor_fine(cache->length, bargs->usage); in chunk_usage_filter()
3627 struct btrfs_balance_args *bargs) in chunk_devid_filter() argument
3635 if (btrfs_stripe_devid(leaf, stripe) == bargs->devid) in chunk_devid_filter()
3654 struct btrfs_balance_args *bargs) in chunk_drange_filter() argument
3664 if (!(bargs->flags & BTRFS_BALANCE_ARGS_DEVID)) in chunk_drange_filter()
3672 if (btrfs_stripe_devid(leaf, stripe) != bargs->devid) in chunk_drange_filter()
3679 if (stripe_offset < bargs->pend && in chunk_drange_filter()
3680 stripe_offset + stripe_length > bargs->pstart) in chunk_drange_filter()
3691 struct btrfs_balance_args *bargs) in chunk_vrange_filter() argument
3693 if (chunk_offset < bargs->vend && in chunk_vrange_filter()
3694 chunk_offset + btrfs_chunk_length(leaf, chunk) > bargs->vstart) in chunk_vrange_filter()
3703 struct btrfs_balance_args *bargs) in chunk_stripes_range_filter() argument
3707 if (bargs->stripes_min <= num_stripes in chunk_stripes_range_filter()
3708 && num_stripes <= bargs->stripes_max) in chunk_stripes_range_filter()
3715 struct btrfs_balance_args *bargs) in chunk_soft_convert_filter() argument
3717 if (!(bargs->flags & BTRFS_BALANCE_ARGS_CONVERT)) in chunk_soft_convert_filter()
3723 if (bargs->target == chunk_type) in chunk_soft_convert_filter()
3734 struct btrfs_balance_args *bargs = NULL; in should_balance_chunk() local
3744 bargs = &bctl->data; in should_balance_chunk()
3746 bargs = &bctl->sys; in should_balance_chunk()
3748 bargs = &bctl->meta; in should_balance_chunk()
3751 if ((bargs->flags & BTRFS_BALANCE_ARGS_PROFILES) && in should_balance_chunk()
3752 chunk_profiles_filter(chunk_type, bargs)) { in should_balance_chunk()
3757 if ((bargs->flags & BTRFS_BALANCE_ARGS_USAGE) && in should_balance_chunk()
3758 chunk_usage_filter(fs_info, chunk_offset, bargs)) { in should_balance_chunk()
3760 } else if ((bargs->flags & BTRFS_BALANCE_ARGS_USAGE_RANGE) && in should_balance_chunk()
3761 chunk_usage_range_filter(fs_info, chunk_offset, bargs)) { in should_balance_chunk()
3766 if ((bargs->flags & BTRFS_BALANCE_ARGS_DEVID) && in should_balance_chunk()
3767 chunk_devid_filter(leaf, chunk, bargs)) { in should_balance_chunk()
3772 if ((bargs->flags & BTRFS_BALANCE_ARGS_DRANGE) && in should_balance_chunk()
3773 chunk_drange_filter(leaf, chunk, bargs)) { in should_balance_chunk()
3778 if ((bargs->flags & BTRFS_BALANCE_ARGS_VRANGE) && in should_balance_chunk()
3779 chunk_vrange_filter(leaf, chunk, chunk_offset, bargs)) { in should_balance_chunk()
3784 if ((bargs->flags & BTRFS_BALANCE_ARGS_STRIPES_RANGE) && in should_balance_chunk()
3785 chunk_stripes_range_filter(leaf, chunk, bargs)) { in should_balance_chunk()
3790 if ((bargs->flags & BTRFS_BALANCE_ARGS_SOFT) && in should_balance_chunk()
3791 chunk_soft_convert_filter(chunk_type, bargs)) { in should_balance_chunk()
3798 if ((bargs->flags & BTRFS_BALANCE_ARGS_LIMIT)) { in should_balance_chunk()
3799 if (bargs->limit == 0) in should_balance_chunk()
3802 bargs->limit--; in should_balance_chunk()
3803 } else if ((bargs->flags & BTRFS_BALANCE_ARGS_LIMIT_RANGE)) { in should_balance_chunk()
3809 if (bargs->limit_max == 0) in should_balance_chunk()
3812 bargs->limit_max--; in should_balance_chunk()
4042 const struct btrfs_balance_args *bargs, in validate_convert_profile() argument
4045 if (!(bargs->flags & BTRFS_BALANCE_ARGS_CONVERT)) in validate_convert_profile()
4049 bargs->target & BTRFS_BLOCK_GROUP_RAID56_MASK) { in validate_convert_profile()
4056 if (alloc_profile_is_valid(bargs->target, 1) && in validate_convert_profile()
4057 (bargs->target & ~allowed) == 0) in validate_convert_profile()
4061 type, btrfs_bg_type_to_raid_name(bargs->target)); in validate_convert_profile()
4070 static void describe_balance_args(struct btrfs_balance_args *bargs, char *buf, in describe_balance_args() argument
4076 u64 flags = bargs->flags; in describe_balance_args()
4111 btrfs_bg_type_to_raid_name(bargs->target)); in describe_balance_args()
4117 btrfs_describe_block_groups(bargs->profiles, tmp_buf, in describe_balance_args()
4123 CHECK_APPEND_1ARG("usage=%llu,", bargs->usage); in describe_balance_args()
4127 bargs->usage_min, bargs->usage_max); in describe_balance_args()
4130 CHECK_APPEND_1ARG("devid=%llu,", bargs->devid); in describe_balance_args()
4134 bargs->pstart, bargs->pend); in describe_balance_args()
4138 bargs->vstart, bargs->vend); in describe_balance_args()
4141 CHECK_APPEND_1ARG("limit=%llu,", bargs->limit); in describe_balance_args()
4145 bargs->limit_min, bargs->limit_max); in describe_balance_args()
4149 bargs->stripes_min, bargs->stripes_max); in describe_balance_args()
4224 struct btrfs_ioctl_balance_args *bargs) in btrfs_balance() argument
4384 if (bargs) { in btrfs_balance()
4385 memset(bargs, 0, sizeof(*bargs)); in btrfs_balance()
4386 btrfs_update_ioctl_balance_args(fs_info, bargs); in btrfs_balance()