From: Paolo Bonzini <pbonz...@redhat.com> 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> Message-Id: <20230407153303.391121-4-pbonz...@redhat.com> Reviewed-by: Eric Blake <ebl...@redhat.com> Reviewed-by: Kevin Wolf <kw...@redhat.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> --- block.c | 1 + 1 file changed, 1 insertion(+) diff --git a/block.c b/block.c index 6a805ff0ea..be7dc5d3e9 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