Am 06.05.2019 um 19:17 hat Kevin Wolf geschrieben: > Recently, a few bugs were reported that resulted from an inconsistent > state regarding AioContexts. Block nodes can end up in different > contexts than their users expect - the AioContext of a node can even > change under the feet of a device with no way for the device to forbid > this. We recently added a few basic checks to scsi-disk and virtio-blk, > but they are by far not enough. > > This is the first part of my work to actually properly manage > AioContexts in the block layer rather than just doing some ad-hoc calls > to bdrv_set_aio_context() and hoping that everything will work out. > > The goal of this first part is that bdrv_set_aio_context() propagates > the AioContext change not only to the children of the node like we > already do, but also to any other affected nodes, such as additional > parents or nodes connected to the requested one only through a block job > that operates on both nodes. > > Keep in mind that a second part will follow and that this is visible in > some functions that may not seem that useful in this series. In > particular, bdrv_try_set_aio_context() isn't used much outside of test > cases in this series. This will change in the second part.
Applied to the block branch. Kevin