@@ -359,6 +359,10 @@ static coroutine_fn int parallels_co_readv(BlockDriverState *bs,
return ret;
}
+static bool parallels_is_opened_unclean(BlockDriverState *bs)
+{
+ return ((BDRVParallelsState *)(bs->opaque))->header_unclean;
+}
static int parallels_check(BlockDriverState *bs, BdrvCheckResult *res,
BdrvCheckMode fix)
@@ -376,7 +380,7 @@ static int parallels_check(BlockDriverState *bs, BdrvCheckResult *res,
return size;
}
- if (s->header_unclean) {
+ if (parallels_is_opened_unclean(bs)) {
fprintf(stderr, "%s image was not closed correctly\n",
fix & BDRV_FIX_ERRORS ? "Repairing" : "ERROR");
res->corruptions++;
@@ -743,6 +747,7 @@ static BlockDriver bdrv_parallels = {
.bdrv_close = parallels_close,
.bdrv_co_get_block_status = parallels_co_get_block_status,
.bdrv_has_zero_init = bdrv_has_zero_init_1,
+ .bdrv_is_opened_unclean = parallels_is_opened_unclean,
.bdrv_co_flush_to_os = parallels_co_flush_to_os,
.bdrv_co_readv = parallels_co_readv,
.bdrv_co_writev = parallels_co_writev,