qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH] Call qemu_bh_delete at bdrv_aio_bh_cb


From: Dor Laor
Subject: [Qemu-devel] [PATCH] Call qemu_bh_delete at bdrv_aio_bh_cb
Date: Mon, 01 Jun 2009 12:10:02 +0300
User-agent: Thunderbird 2.0.0.19 (X11/20090105)


>From 09ad82d8b8ebd1670aadf21eae8021dfad373c61 Mon Sep 17 00:00:00 2001
From: Dor Laor <address@hidden>
Date: Mon, 1 Jun 2009 12:07:23 +0300
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 <address@hidden>
---
 block.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/block.c b/block.c
index c80d4b9..4a0b642 100644
--- a/block.c
+++ b/block.c
@@ -1402,7 +1402,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);
 }
 
@@ -1455,7 +1455,7 @@ static BlockDriverAIOCB 
*bdrv_aio_writev_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);
 }
 
-- 
1.5.6.6


reply via email to

[Prev in Thread] Current Thread [Next in Thread]