On Wed, Nov 23, 2011 at 10:40 AM, Kevin Wolf <kw...@redhat.com> wrote: > Signed-off-by: Kevin Wolf <kw...@redhat.com> > --- > block/vpc.c | 5 ++++- > 1 files changed, 4 insertions(+), 1 deletions(-) > > diff --git a/block/vpc.c b/block/vpc.c > index 75d7d4a..89a5ee2 100644 > --- a/block/vpc.c > +++ b/block/vpc.c > @@ -362,8 +362,11 @@ static int64_t alloc_block(BlockDriverState* bs, int64_t > sector_num) > > // Initialize the block's bitmap > memset(bitmap, 0xff, s->bitmap_size); > - bdrv_pwrite_sync(bs->file, s->free_data_block_offset, bitmap, > + ret = bdrv_pwrite_sync(bs->file, s->free_data_block_offset, bitmap, > s->bitmap_size); > + if (ret < 0) { > + return ret; > + }
I notice that s->pagetable[index] is left modified when the function fails. But this is a larger issue and could be addressed in a later patch which also looks at the other failure cases in this function. Reviewed-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Stefan