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

Reply via email to