On 08.08.2022 14:07, Alexander Ivanov wrote:
> It's too costly to write all the BAT to the disk. Let the flush function
> write only dirty blocks.
>
> Signed-off-by: Alexander Ivanov <alexander.ivanov@virtuozzo.com>
> ---
> block/parallels.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/block/parallels.c b/block/parallels.c
> index 72cf7499c1..38b1482e81 100644
> --- a/block/parallels.c
> +++ b/block/parallels.c
> @@ -469,7 +469,7 @@ static int parallels_check_outside_image(BlockDriverState *bs,
> }
>
> if (flush_bat) {
> - ret = bdrv_co_pwrite_sync(bs->file, 0, s->header_size, s->header, 0);
> + ret = bdrv_co_flush(bs);
> if (ret < 0) {
> res->check_errors++;
> return ret;
no-no-no, absolutely no.
Please drop ALL flush_bat dances. We do not need them once we have switched
to parallels_set_bat_entry. We do NOT need to track this anymore, this is
handled inside and thus flush should be made OUTSIDE of helpers in the
generic code of the parallels_co_check