[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 07/17] block/nbd-client: refactor request send/r
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH 07/17] block/nbd-client: refactor request send/receive |
Date: |
Fri, 25 Aug 2017 14:08:05 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 |
On 08/25/2017 01:49 PM, Eric Blake wrote:
> On 08/04/2017 10:14 AM, Vladimir Sementsov-Ogievskiy wrote:
>> Move nbd_co_receive_reply and nbd_coroutine_end calls into
>> nbd_co_send_request and rename the latter to just nbd_co_request.
>>
>> This removes code duplications in nbd_client_co_{pwrite,pread,...}
>> functions. Also this is needed for further refactoring.
>>
>> -static int nbd_co_send_request(BlockDriverState *bs,
>> - NBDRequest *request,
>> - QEMUIOVector *qiov)
>> +static void nbd_co_receive_reply(NBDClientSession *s,
>> + NBDRequest *request,
>> + NBDReply *reply,
>> + QEMUIOVector *qiov);
>> +static void nbd_coroutine_end(BlockDriverState *bs,
>> + NBDRequest *request);
>
> Is it possible to organize the functions in topological order so that we
> don't need forward declarations of static functions? (If there is
> mutual recursion, you need the forward declaration; but other than that,
> I like reading the building blocks first rather than skipping around)
Answering myself: patch 9 inlines nbd_co_receive_reply into its lone
caller, eliminating the need for a forward reference, and it is less
code churn to have a temporary forward declaration than it is to move
the function body up and then back down. (Maybe the commit message
could hint that nbd_co_receive_reply will later be inlined)
>
> Otherwise,
> Reviewed-by: Eric Blake <address@hidden>
>
--
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-devel] [Qemu-block] [PATCH 06/17] block/nbd-client: fix nbd_read_reply_entry, (continued)
[Qemu-devel] [PATCH 14/17] block/nbd-client: exit reply-reading coroutine on incorrect handle, Vladimir Sementsov-Ogievskiy, 2017/08/04
[Qemu-devel] [PATCH 17/17] block/nbd-client: always return EIO on and after the first io channel error, Vladimir Sementsov-Ogievskiy, 2017/08/04
[Qemu-devel] [PATCH 09/17] block/nbd-client: move nbd_co_receive_reply content into nbd_co_request, Vladimir Sementsov-Ogievskiy, 2017/08/04
[Qemu-devel] [PATCH 16/17] block/nbd-client: drop reply field from NBDClientSession, Vladimir Sementsov-Ogievskiy, 2017/08/04
[Qemu-devel] [PATCH 07/17] block/nbd-client: refactor request send/receive, Vladimir Sementsov-Ogievskiy, 2017/08/04
[Qemu-devel] [PATCH 12/17] block/nbd-client: refactor nbd_co_request, Vladimir Sementsov-Ogievskiy, 2017/08/04
[Qemu-devel] [PATCH 13/17] block/nbd-client: refactor NBDClientSession.recv_coroutine, Vladimir Sementsov-Ogievskiy, 2017/08/04
[Qemu-devel] [PATCH 04/17] nbd/client: fix nbd_send_request to return int, Vladimir Sementsov-Ogievskiy, 2017/08/04
Re: [Qemu-devel] [PATCH 04/17] nbd/client: fix nbd_send_request to return int, Eric Blake, 2017/08/25
[Qemu-devel] [PATCH 15/17] block/nbd-client: refactor reading reply, Vladimir Sementsov-Ogievskiy, 2017/08/04
Re: [Qemu-devel] [PATCH 00/17] nbd client refactoring and fixing, Eric Blake, 2017/08/16