qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC PATCH 0/5] qcow: coroutines cleanup


From: Kevin Wolf
Subject: Re: [Qemu-devel] [RFC PATCH 0/5] qcow: coroutines cleanup
Date: Mon, 25 Jul 2011 09:53:34 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.18) Gecko/20110621 Fedora/3.1.11-1.fc15 Thunderbird/3.1.11

Am 22.07.2011 22:09, schrieb Frediano Ziglio:
> Il giorno ven, 22/07/2011 alle 12.10 +0200, Kevin Wolf ha scritto: 
>> Am 22.07.2011 11:26, schrieb Frediano Ziglio:
>>> 2011/7/22 Kevin Wolf <address@hidden>:
>>>> Am 20.07.2011 15:56, schrieb Frediano Ziglio:
>>>>> These patches mostly cleanup some AIO code using coroutines.
>>>>> These patches apply to Kevin's repository, branch coroutine-block.
>>>>> Mostly they use stack instead of allocated AIO structure.
>>>>>
>>>>> Frediano Ziglio (5):
>>>>>   qcow: allocate QCowAIOCB structure using stack
>>>>>   qcow: QCowAIOCB field cleanup
>>>>>   qcow: move some blocks of code to avoid useless variable
>>>>>     initialization
>>>>>   avoid dandling pointers
>>>>>   qcow: small optimization initializing QCowAIOCB
>>>>>
>>>>>  block/qcow.c  |  210 
>>>>> +++++++++++++++++++++++++--------------------------------
>>>>>  block/qcow2.c |   38 +++-------
>>>>>  2 files changed, 102 insertions(+), 146 deletions(-)
>>>>
>>>> Most of it looks good now. Did you include the "RFC" in the subject just
>>>> because the coroutine work is in RFC state, too, or did you intend to
>>>> tell me that I shouldn't merge yet?
>>>>
>>>> Kevin
>>>>
>>>
>>> As these patches are first quite big patches I send (typo or small
>>> fixes do not counts) I just want to mark that I could write something
>>> really wrong. Just a way to avoid somebody having to send more patches
>>> and get more attention. Some projects are quite prone to merge even
>>> not that fine ones. I prefer to have some (a bit) pedantic comments
>>> and a real fix/improve.
>>>
>>> Now I removed the RFC from last update. The main reason is that I
>>> found your qemu-iotests repository which, I think should be merged to
>>> main repository, but it's just my opinion.
>>> Oh... qcow fails 004 test (even origin/coroutines-block) with a I/O error.
>>
>> Yup, you're right, I must have messed it up. Care to fix it or should I
>> look into it?
>>
> 
> Care but I don't know if I'll have time before Thursday. However I found
> the problem, really strange. bdrv_read returns <0 for errors 0 for
> success and... bytes read on partial read! Now a qcow image of 128m is
> 560 bytes so when you read sector 1 you get 48 which is not a problem
> for qcow code. But if you replace bdrv_read with a bdrv_co_readv (your
> latest patch on coroutine-block) bdrv_co_readv return -EINVAL on partial
> read.

Oh, that one. I think I have a fix for it somewhere, I'll include it in
my series.

Kevin



reply via email to

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