Il 29/07/2013 15:13, Kevin Wolf ha scritto: > Am 25.07.2013 um 16:23 hat Paolo Bonzini geschrieben: >> If a BlockDriverState is growable, after every write we need to >> check if bs->total_sectors might have changed. >> >> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> >> --- >> block.c | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/block.c b/block.c >> index 6cd39fa..ebac2fa 100644 >> --- a/block.c >> +++ b/block.c >> @@ -2651,6 +2651,9 @@ static int coroutine_fn >> bdrv_co_do_writev(BlockDriverState *bs, >> if (bs->wr_highest_sector < sector_num + nb_sectors - 1) { >> bs->wr_highest_sector = sector_num + nb_sectors - 1; >> } >> + if (bs->growable && ret >= 0) { >> + bs->total_sectors = MAX(bs->total_sectors, sector_num + nb_sectors); >> + } > > Can we change bdrv_getlength() to use bs->total_sectors even for > growable images after this patch?
Probably, but not in 1.6. :) Paolo