From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:41507) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rb8Rk-0004bw-2v for qemu-devel@nongnu.org; Thu, 15 Dec 2011 05:21:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Rb8Re-0004yX-TF for qemu-devel@nongnu.org; Thu, 15 Dec 2011 05:21:52 -0500 Received: from mail-yx0-f173.google.com ([209.85.213.173]:36851) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rb8Re-0004yQ-Q8 for qemu-devel@nongnu.org; Thu, 15 Dec 2011 05:21:46 -0500 Received: by yenm6 with SMTP id m6so1556464yen.4 for ; Thu, 15 Dec 2011 02:21:46 -0800 (PST) Sender: Paolo Bonzini Message-ID: <4EE9CA34.9060805@redhat.com> Date: Thu, 15 Dec 2011 11:21:40 +0100 From: Paolo Bonzini MIME-Version: 1.0 References: <1323185272-2610-1-git-send-email-pbonzini@redhat.com> In-Reply-To: <1323185272-2610-1-git-send-email-pbonzini@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 00/25] nbd asynchronous operation List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin Wolf Cc: qemu-devel@nongnu.org On 12/06/2011 04:27 PM, Paolo Bonzini wrote: > Here is my NBD asynchronous operation series, including asynchronous > server. > > Patches 1-5 add asynchronous operation to the client. > > Patches 6-9 add new features for flush/FUA and discard (trim). > > Patches 10-25 add asynchronous operation to the server. > > Chunyan Liu (1): > Update ioctl order in nbd_init() to detect EBUSY > > Paolo Bonzini (24): > add qemu_send_full and qemu_recv_full > sheepdog: move coroutine send/recv function to generic code > nbd: switch to asynchronous operation > nbd: split requests > nbd: allow multiple in-flight requests > nbd: fix error handling in the server > nbd: add support for NBD_CMD_FLAG_FUA > nbd: add support for NBD_CMD_FLUSH > nbd: add support for NBD_CMD_TRIM > qemu-nbd: remove offset argument to nbd_trip > qemu-nbd: remove data_size argument to nbd_trip > move corking functions to osdep.c > qemu-nbd: simplify nbd_trip > qemu-nbd: introduce nbd_do_send_reply > qemu-nbd: more robust handling of invalid requests > qemu-nbd: introduce nbd_do_receive_request > qemu-nbd: introduce NBDExport > qemu-nbd: introduce NBDRequest > link the main loop and its dependencies into the tools > qemu-nbd: use common main loop > qemu-nbd: move client handling to nbd.c > qemu-nbd: add client pointer to NBDRequest > qemu-nbd: asynchronous operation > qemu-nbd: throttle requests > > Makefile | 5 +- > Makefile.objs | 2 +- > block/nbd.c | 319 ++++++++++++++++++++++++++++++------- > block/sheepdog.c | 250 +++-------------------------- > cutils.c | 111 +++++++++++++ > main-loop.h | 6 + > nbd.c | 439 ++++++++++++++++++++++++++++++++++++++++----------- > nbd.h | 14 ++- > os-posix.c | 42 ----- > os-win32.c | 5 - > osdep.c | 76 +++++++++ > oslib-posix.c | 43 +++++ > oslib-win32.c | 5 + > qemu-common.h | 34 ++++ > qemu-coroutine-io.c | 96 +++++++++++ > qemu-nbd.c | 120 +++++--------- > qemu-tool.c | 42 +++--- > qemu_socket.h | 1 + > 18 files changed, 1080 insertions(+), 530 deletions(-) > create mode 100644 qemu-coroutine-io.c > This needs rebasing due to commit 3a93113 (fix typo: delete redundant semicolon, 2011-11-29). To avoid further spamming, I placed the whole thing at git://github.com/bonzini/qemu.git in branch nbd-server. Paolo