After reopening a BlockDriverState, it's possible that the size of the underlying file has changed. This for example is covered by test 171.
Right now, this is handled by the raw driver's has_variable_length = true setting. Since this will be removed by the next patch, handle it on reopen instead, together with the existing bdrv_refresh_limits. Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> --- block.c | 1 + 1 file changed, 1 insertion(+) diff --git a/block.c b/block.c index b1b7c7efe036..9de50ac7c811 100644 --- a/block.c +++ b/block.c @@ -4918,6 +4918,7 @@ static void bdrv_reopen_commit(BDRVReopenState *reopen_state) qdict_del(bs->options, "backing"); bdrv_refresh_limits(bs, NULL, NULL); + bdrv_refresh_total_sectors(bs, bs->total_sectors); } /* -- 2.39.2