qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] qemu-iotests: make a few more tests generic


From: Kevin Wolf
Subject: Re: [Qemu-devel] [PATCH] qemu-iotests: make a few more tests generic
Date: Fri, 10 Jul 2009 09:47:54 +0200
User-agent: Thunderbird 2.0.0.21 (X11/20090320)

Christoph Hellwig schrieb:
> On Thu, Jul 09, 2009 at 11:58:58AM +0200, Kevin Wolf wrote:
>> Christoph Hellwig schrieb:
>>> Pretend that a non-implemented check is always successful and thus allow
>>> various tests that were qcow2-specific before to be generic.
>> Looks good in general. However, vmdk and vpc fail test case 011 for me.
>> Not sure yet where the problem actually is, there seems to be no qemu-io
>> output at all for these.
> 
> They pass for me.  So I guess we have a problem somewhere that we'll
> eventually need to investigate.

This problem has already be found. Avi's patch from almost three weeks
ago fixes it.

It really starts to get annoying. How am I supposed to work with commits
only every other week (which is bad enough) and then patches are
forgotten and probably won't be merged before another two weeks? I guess
I should manage some local tree with fixes myself and move away from
basing my work on git master...

Attaching Avi's patch for reference.

Kevin
>From 3458d28d2a1eec3b867f7caa65ba177aa5b77da5 Mon Sep 17 00:00:00 2001
From: Avi Kivity <address@hidden>
Date: Tue, 23 Jun 2009 16:20:36 +0300
Subject: [PATCH] block: Clean up after deleting BHs

Commit 6a7ad299 ("Call qemu_bh_delete at bdrv_aio_bh_cb") deletes emulated
aio bottom halves to prevent endless accumulation.  However, it leaves a
stale ->bh pointer, which is then waited on when the aio is reused.

Zeroing the pointer fixes the issue, allowing vmdk format images to be used.

Signed-off-by: Avi Kivity <address@hidden>
---
 block.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/block.c b/block.c
index aca5a6d..cefbe77 100644
--- a/block.c
+++ b/block.c
@@ -1374,6 +1374,7 @@ static void bdrv_aio_cancel_em(BlockDriverAIOCB *blockacb)
 {
     BlockDriverAIOCBSync *acb = (BlockDriverAIOCBSync *)blockacb;
     qemu_bh_delete(acb->bh);
+    acb->bh = NULL;
     qemu_aio_release(acb);
 }
 
@@ -1391,6 +1392,7 @@ static void bdrv_aio_bh_cb(void *opaque)
     qemu_vfree(acb->bounce);
     acb->common.cb(acb->common.opaque, acb->ret);
     qemu_bh_delete(acb->bh);
+    acb->bh = NULL;
     qemu_aio_release(acb);
 }
 
-- 
1.6.0.6


reply via email to

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