On 24/11/2015 06:21, Fam Zheng wrote: > + if (bs->file && *file == bs->file->bs &&
This check is unnecessary, just use "if (file)". Paolo > (ret & BDRV_BLOCK_DATA) && !(ret & BDRV_BLOCK_ZERO) && > (ret & BDRV_BLOCK_OFFSET_VALID)) { > + BlockDriverState *file2; > int file_pnum; > > - ret2 = bdrv_co_get_block_status(bs->file->bs, ret >> > BDRV_SECTOR_BITS, > - *pnum, &file_pnum); > + ret2 = bdrv_co_get_block_status(*file, ret >> BDRV_SECTOR_BITS, > + *pnum, &file_pnum, &file2);