On 08.08.2022 14:07, Alexander Ivanov wrote:
> Frgamentation is a part of statistics so it is better to count the statistics
> in one function.
>
> Signed-off-by: Alexander Ivanov <alexander.ivanov@virtuozzo.com>
> ---
> block/parallels.c | 31 ++++++++-----------------------
> 1 file changed, 8 insertions(+), 23 deletions(-)
>
> diff --git a/block/parallels.c b/block/parallels.c
> index 38b1482e81..11597c5dc4 100644
> --- a/block/parallels.c
> +++ b/block/parallels.c
> @@ -530,13 +530,16 @@ static int parallels_check_leak(BlockDriverState *bs,
> return 0;
> }
>
> -static void parallels_check_fragmentation(BlockDriverState *bs,
> - BdrvCheckResult *res,
> - BdrvCheckMode fix)
> +static void parallels_collect_statistics(BlockDriverState *bs,
> + BdrvCheckResult *res,
> + BdrvCheckMode fix)
> {
> BDRVParallelsState *s = bs->opaque;
> - uint32_t i;
> int64_t off, prev_off;
> + uint32_t i;
> +
> + res->bfi.total_clusters = s->bat_size;
> + res->bfi.compressed_clusters = 0; /* compression is not supported */
>
> prev_off = 0;
> for (i = 0; i < s->bat_size; i++) {
> @@ -549,24 +552,8 @@ static void parallels_check_fragmentation(BlockDriverState *bs,
> res->bfi.fragmented_clusters++;
> }
> prev_off = off;
> - }
>
> -}
> -
> -static void parallels_collect_statistics(BlockDriverState *bs,
> - BdrvCheckResult *res,
> - BdrvCheckMode fix)
> -{
> - BDRVParallelsState *s = bs->opaque;
> - uint32_t i;
> -
> - res->bfi.total_clusters = s->bat_size;
> - res->bfi.compressed_clusters = 0; /* compression is not supported */
> -
> - for (i = 0; i < s->bat_size; i++) {
> - if (bat2sect(s, i) != 0) {
> - res->bfi.allocated_clusters++;
> - }
> + res->bfi.allocated_clusters++;
> }
> }
>
> @@ -591,8 +578,6 @@ static int coroutine_fn parallels_co_check(BlockDriverState *bs,
> return ret;
> }
>
> - parallels_check_fragmentation(bs, res, fix);
> -
> parallels_collect_statistics(bs, res, fix);
>
> return 0;
please squash this and helper creation patches. There is no sense to have
this as a separate things.