[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PATCH v2 4/7] block/nbd-client: drop reply field from
From: |
Eric Blake |
Subject: |
Re: [Qemu-block] [PATCH v2 4/7] block/nbd-client: drop reply field from NBDClientSession |
Date: |
Mon, 18 Sep 2017 17:00:52 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 |
On 09/18/2017 08:59 AM, Vladimir Sementsov-Ogievskiy wrote:
> Drop 'reply' from NBDClientSession. It's used to only deliver request
> return code to receiving coroutine. Instead introduce per-request ret
> variable to simplify the scheme and make further refactoring possible.
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
> ---
> block/nbd-client.h | 2 +-
> block/nbd-client.c | 22 +++++++++-------------
> 2 files changed, 10 insertions(+), 14 deletions(-)
>
> diff --git a/block/nbd-client.h b/block/nbd-client.h
> index 3f97d31013..4bc8fe3993 100644
> --- a/block/nbd-client.h
> +++ b/block/nbd-client.h
> @@ -22,6 +22,7 @@ typedef struct {
> bool receiving; /* waiting for read_reply_co? */
> NBDRequest *request;
> QEMUIOVector *qiov;
> + int ret;
> } NBDClientRequest;
I like this idea. However, I note that:
> @@ -211,11 +211,7 @@ static int nbd_co_receive_reply(NBDClientSession *s,
> NBDRequest *request)
> if (!s->ioc || s->quit) {
> ret = -EIO;
> } else {
> - assert(s->reply.handle == request->handle);
> - ret = -s->reply.error;
> -
> - /* Tell the read handler to read another header. */
> - s->reply.handle = 0;
> + ret = s->requests[i].ret;
you are removing the assert you added in 2/7, where I questioned whether
we needed NBDClientRequest.request in the first place. So there may be
some rebase churn, depending on how that conversation pans out.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature
- Re: [Qemu-block] [PATCH v2 1/7] block/nbd-client: refactor nbd_co_receive_reply, (continued)
[Qemu-block] [PATCH v2 4/7] block/nbd-client: drop reply field from NBDClientSession, Vladimir Sementsov-Ogievskiy, 2017/09/18
- Re: [Qemu-block] [PATCH v2 4/7] block/nbd-client: drop reply field from NBDClientSession,
Eric Blake <=