[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PULL v2 07/24] nbd: convert to use qio_channel_yield
From: |
Max Reitz |
Subject: |
Re: [Qemu-devel] [PULL v2 07/24] nbd: convert to use qio_channel_yield |
Date: |
Wed, 8 Mar 2017 20:00:32 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 |
On 06.03.2017 22:04, Max Reitz wrote:
> On 21.02.2017 12:56, Stefan Hajnoczi wrote:
>> From: Paolo Bonzini <address@hidden>
>>
>> In the client, read the reply headers from a coroutine, switching the
>> read side between the "read header" coroutine and the I/O coroutine that
>> reads the body of the reply.
>>
>> In the server, if the server can read more requests it will create a new
>> "read request" coroutine as soon as a request has been read. Otherwise,
>> the new coroutine is created in nbd_request_put.
>>
>> Reviewed-by: Stefan Hajnoczi <address@hidden>
>> Signed-off-by: Paolo Bonzini <address@hidden>
>> Reviewed-by: Fam Zheng <address@hidden>
>> Reviewed-by: Daniel P. Berrange <address@hidden>
>> Message-id: address@hidden
>> Signed-off-by: Stefan Hajnoczi <address@hidden>
>> ---
>> block/nbd-client.h | 2 +-
>> block/nbd-client.c | 117
>> ++++++++++++++++++++++++-----------------------------
>> nbd/client.c | 2 +-
>> nbd/common.c | 9 +----
>> nbd/server.c | 94 +++++++++++++-----------------------------
>> 5 files changed, 83 insertions(+), 141 deletions(-)
>
> git-bisect tells me this broke qemu-iotest 083 (which hangs now).
And it also breaks 094 by failing an assertion:
> QEMU_PROG: qemu/io/channel.c:306: qio_channel_yield: Assertion
> `!ioc->read_coroutine' failed.
That looks a bit worse to me.
(I didn't see it before because I just decided to stop the iotests at
083 and didn't run the ones after it...)
Max
signature.asc
Description: OpenPGP digital signature