提交 6a7ad299 编写于 作者: D Dor Laor 提交者: Anthony Liguori

Call qemu_bh_delete at bdrv_aio_bh_cb.

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: NDor Laor <dor@redhat.com>
Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
上级 3fe5c14e
......@@ -1373,7 +1373,7 @@ typedef struct BlockDriverAIOCBSync {
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);
}
......@@ -1390,7 +1390,7 @@ static void bdrv_aio_bh_cb(void *opaque)
qemu_iovec_from_buffer(acb->qiov, acb->bounce, acb->qiov->size);
qemu_vfree(acb->bounce);
acb->common.cb(acb->common.opaque, acb->ret);
qemu_bh_delete(acb->bh);
qemu_aio_release(acb);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册