On 29/07/19 23:37, John Snow wrote: >>> >>> If it does -- if there are indeed no places in the code today that >>> artificially inject -ECANCELED -- I need to remove these special stanzas >>> from the IDE code and allow the IDE state machine to handle these errors >>> as true errors. >> The bug is that there is no place to inject -ECANCELED in the dbs->bh >> case. I've sent an obviously^W untested patch. > > Where does it inject -ECANCELED in the non-dbs->bh case?
It's simply part of the contract of bdrv_aio_cancel_async that the completion callback will be invoked (most of the time the I/O will just go on without any cancellation, as you noted). Paolo