Message ID | 20220808120734.1168314-9-alexander.ivanov@virtuozzo.com |
---|---|
State | New |
Headers | show |
Series | parallels: Refactor the code of images checks and fix a bug | expand |
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
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;
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(-)