From f9ad69304fd52092c54fbf64b2937ebdb9980649 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 7 Oct 2009 15:53:58 +0100 Subject: [PATCH] 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 [ Backported from 6bbff9a0b495918309074ac60375be5f9dc868b3 by Stefano Stabellini. ] Signed-off-by: Ian Jackson --- block.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/block.c b/block.c index 69c6da55..bad2d3da 100644 --- a/block.c +++ b/block.c @@ -1522,6 +1522,7 @@ static void bdrv_aio_bh_cb(void *opaque) { BlockDriverAIOCBSync *acb = opaque; acb->common.cb(acb->common.opaque, acb->ret); + qemu_bh_delete(acb->bh); qemu_aio_release(acb); } @@ -1560,7 +1561,7 @@ static BlockDriverAIOCB *bdrv_aio_write_em(BlockDriverState *bs, 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); } -- 2.39.5