[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 4/7] block: take lock around bdrv_read implem
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] [PATCH v2 4/7] block: take lock around bdrv_read implementations |
Date: |
Mon, 07 Nov 2011 10:12:51 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:7.0) Gecko/20110927 Thunderbird/7.0 |
Am 06.11.2011 15:27, schrieb Avi Kivity:
> On 10/20/2011 01:16 PM, Paolo Bonzini wrote:
>> This does the first part of the conversion to coroutines, by
>> wrapping bdrv_read implementations to take the read side of the
>> rwlock.
>>
>> Drivers that implement bdrv_read rather than bdrv_co_readv can
>> then benefit from asynchronous operation (at least if the underlying
>> protocol supports it, which is not the case for raw-win32), even
>> though they still operate with a bounce buffer.
>>
>> raw-win32 does not need the lock, because it cannot yield.
>> nbd also doesn't probably, but better be safe.
>
> This patch (2914caa088e3fbbd) breaks autotest when a guest reboots after
> install; instead of rebooting, the guest is stuck in the bootloader or
> kernel.
>
> This was discovered in qemu-kvm, but applies to plain qemu too. The
> commit above is broken, it's parent is good.
Does the autotest case use any of the block drivers that are changed by
this patch? I would be surprised to learn that, but otherwise it doesn't
make sense to me.
block/bochs.c | 13 ++++++++++++-
block/cloop.c | 13 ++++++++++++-
block/cow.c | 13 ++++++++++++-
block/dmg.c | 13 ++++++++++++-
block/nbd.c | 13 ++++++++++++-
block/parallels.c | 13 ++++++++++++-
block/vmdk.c | 13 ++++++++++++-
block/vpc.c | 13 ++++++++++++-
block/vvfat.c | 13 ++++++++++++-
Kevin