diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2023-04-07 17:32:58 +0200 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2023-04-11 16:38:59 +0200 |
commit | 439cc330c58c6973a5c73dab36c334e29607d47b (patch) | |
tree | 5c697f70351b29ad39b7cfa13600d3759a60d72b /block.c | |
parent | 6188088f72fbfc419ba6cbc129479ee0b96c7436 (diff) |
block: refresh bs->total_sectors on reopen
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 <pbonzini@redhat.com>
Message-Id: <20230407153303.391121-4-pbonzini@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'block.c')
-rw-r--r-- | block.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -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); } /* |