Indeed, thank you for replying and reminding. I'll be more careful next time.
On 2017/6/7 17:46, Alberto Garcia wrote: > On Sat 03 Jun 2017 07:48:37 AM CEST, sochin.jiang wrote: > >> --- a/block.c >> +++ b/block.c >> @@ -3084,9 +3084,16 @@ static void bdrv_close(BlockDriverState *bs) >> bdrv_drained_end(bs); >> } >> >> +void bdrv_cancel_all(void) >> +{ >> + if (!block_jobs_is_empty()) { >> + block_job_cancel_sync_all(); >> + } >> +} > Why do you need this function at all? block_job_cancel_sync_all() is > already doing nothing when the block_jobs list is empty. > > Berto > > . >