qemu-devel
[Top][All Lists]
Advanced

[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



reply via email to

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