From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:47726) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rb992-00022K-Ci for qemu-devel@nongnu.org; Thu, 15 Dec 2011 06:06:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Rb98y-0006IY-6C for qemu-devel@nongnu.org; Thu, 15 Dec 2011 06:06:36 -0500 Received: from mx1.redhat.com ([209.132.183.28]:1029) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rb98x-0006IF-V7 for qemu-devel@nongnu.org; Thu, 15 Dec 2011 06:06:32 -0500 Message-ID: <4EE9D569.5090603@redhat.com> Date: Thu, 15 Dec 2011 12:09:29 +0100 From: Kevin Wolf MIME-Version: 1.0 References: <1323185272-2610-1-git-send-email-pbonzini@redhat.com> <4EE9CA34.9060805@redhat.com> In-Reply-To: <4EE9CA34.9060805@redhat.com> Content-Type: text/plain; charset=ISO-8859-1 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: Paolo Bonzini Cc: qemu-devel@nongnu.org, Nicholas Thomas Am 15.12.2011 11:21, schrieb Paolo Bonzini: > 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. I won't get to this (and virtio-scsi) before I go on vacation next week, and probably for some time after it. Feel free to send a pull request to Anthony when you think the series have received enough review and are tested well enough. Maybe Nick is interested in reviewing this series, CCed him. Kevin