On 08.08.2022 14:07, Alexander Ivanov wrote:
Signed-off-by: Alexander Ivanov <[email protected]> --- block/parallels.c | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-)diff --git a/block/parallels.c b/block/parallels.c index a229c06f25..108aa907b8 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -413,6 +413,23 @@ static coroutine_fn int parallels_co_readv(BlockDriverState *bs, return ret; }+static void parallels_check_unclean(BlockDriverState *bs,+ BdrvCheckResult *res, + BdrvCheckMode fix) +{ + BDRVParallelsState *s = bs->opaque; + + if (s->header_unclean) {
I'd better revert this condition if we have moved code to helper.
+ fprintf(stderr, "%s image was not closed correctly\n", + fix & BDRV_FIX_ERRORS ? "Repairing" : "ERROR"); + res->corruptions++; + if (fix & BDRV_FIX_ERRORS) { + /* parallels_close will do the job right */ + res->corruptions_fixed++; + s->header_unclean = false; + } + } +}static int coroutine_fn parallels_co_check(BlockDriverState *bs,BdrvCheckResult *res, @@ -431,16 +448,8 @@ static int coroutine_fn parallels_co_check(BlockDriverState *bs, }qemu_co_mutex_lock(&s->lock);- if (s->header_unclean) { - fprintf(stderr, "%s image was not closed correctly\n", - fix & BDRV_FIX_ERRORS ? "Repairing" : "ERROR"); - res->corruptions++; - if (fix & BDRV_FIX_ERRORS) { - /* parallels_close will do the job right */ - res->corruptions_fixed++; - s->header_unclean = false; - } - } + + parallels_check_unclean(bs, res, fix);res->bfi.total_clusters = s->bat_size;res->bfi.compressed_clusters = 0; /* compression is not supported */
