diff options
author | Dor Laor <dor@redhat.com> | 2009-06-01 12:07:23 +0300 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2009-06-16 15:36:47 -0500 |
commit | 6a7ad2998ca47711eddd191caa1a95f14459793f (patch) | |
tree | ba03e9f24e7d91efccc67e17365262e7711ef50e | |
parent | 3fe5c14e7472f88dddf837a9faa60f6abb2ec6bf (diff) |
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: Dor Laor <dor@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r-- | block.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -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); } |