Also replave qemu_bh_cancel with qemu_bh_delete in bdrv_aio_cancel_em.
Otherwise the bh will live forever in the bh list.
Signed-off-by: Dor Laor <dor@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
[ Backported from
6bbff9a0b495918309074ac60375be5f9dc868b3
by Stefano Stabellini. ]
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
(cherry picked from commit
f9ad69304fd52092c54fbf64b2937ebdb9980649)
{
BlockDriverAIOCBSync *acb = opaque;
acb->common.cb(acb->common.opaque, acb->ret);
+ qemu_bh_delete(acb->bh);
qemu_aio_release(acb);
}
static void bdrv_aio_cancel_em(BlockDriverAIOCB *blockacb)
{
BlockDriverAIOCBSync *acb = (BlockDriverAIOCBSync *)blockacb;
- qemu_bh_cancel(acb->bh);
+ qemu_bh_delete(acb->bh);
qemu_aio_release(acb);
}