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? Kevin