]> Git Repo - qemu.git/commit
virtio-blk-dataplane: delete bottom half before the AioContext is freed
authorPaolo Bonzini <[email protected]>
Tue, 28 Jul 2015 16:34:07 +0000 (18:34 +0200)
committerStefan Hajnoczi <[email protected]>
Wed, 29 Jul 2015 09:02:06 +0000 (10:02 +0100)
commitfed105e2756dde98efa5e80baca02ae516dd1e51
tree80e13014efc5aaf8c6dfaa4e1ac4b624efeebe6b
parentb83d017d88b2c4710c7a4614ecf9f845e4db80ba
virtio-blk-dataplane: delete bottom half before the AioContext is freed

Other uses of aio_bh_new are safe as long as all scheduled bottom
halves are run before an iothread is destroyed, which bdrv_drain will
ensure:

- archipelago_finish_aiocb: BH deletes itself

- inject_error: BH deletes itself

- blkverify_aio_bh: BH deletes itself

- abort_aio_request: BH deletes itself

- curl_aio_readv: BH deletes itself

- gluster_finish_aiocb: BH deletes itself

- bdrv_aio_rw_vector: BH deletes itself

- bdrv_co_maybe_schedule_bh: BH deletes itself

- iscsi_schedule_bh, iscsi_co_generic_cb: BH deletes itself

- laio_attach_aio_context: deleted in laio_detach_aio_context,
called through bdrv_detach_aio_context before deleting the iothread

- nfs_co_generic_cb: BH deletes itself

- null_aio_common: BH deletes itself

- qed_aio_complete: BH deletes itself

- rbd_finish_aiocb: BH deletes itself

- dma_blk_cb: BH deletes itself

- virtio_blk_dma_restart_cb: BH deletes itself

- qemu_bh_new: main loop AioContext is never destroyed

- test-aio.c: bh_delete_cb deletes itself, otherwise deleted in
the same function that calls aio_bh_new

Reported-by: Cornelia Huck <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Message-id: 1438101249[email protected]
Message-Id: <1438086628[email protected]>
Signed-off-by: Stefan Hajnoczi <[email protected]>
hw/block/dataplane/virtio-blk.c
This page took 0.027913 seconds and 4 git commands to generate.