From: Dor Laor Date: Mon, 1 Jun 2009 09:07:23 +0000 (+0300) Subject: Call qemu_bh_delete at bdrv_aio_bh_cb. X-Git-Tag: v0.11.0-rc0~348 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=6a7ad299;p=qemu-xen-4.2-testing.git 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 Signed-off-by: Anthony Liguori --- diff --git a/block.c b/block.c index c7e0dcbc5..ad5ee7a17 100644 --- a/block.c +++ b/block.c @@ -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); }