From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46058) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V2GzS-0003YR-5Y for qemu-devel@nongnu.org; Thu, 25 Jul 2013 04:33:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V2GzO-0006Kc-9o for qemu-devel@nongnu.org; Thu, 25 Jul 2013 04:33:37 -0400 Received: from sh.osrg.net ([192.16.179.4]:39906) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V2GzN-0006K6-NM for qemu-devel@nongnu.org; Thu, 25 Jul 2013 04:33:34 -0400 From: MORITA Kazutaka Date: Thu, 25 Jul 2013 17:31:55 +0900 Message-Id: <1374741125-31859-1-git-send-email-morita.kazutaka@lab.ntt.co.jp> Subject: [Qemu-devel] [PATCH v3 00/10] sheepdog: reconnect server after connection failure List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin Wolf , Stefan Hajnoczi , qemu-devel@nongnu.org Cc: Paolo Bonzini , sheepdog@lists.wpkg.org, Liu Yuan Currently, if a sheepdog server exits, all the connecting VMs need to be restarted. This series implements a feature to reconnect the server, and enables us to do online sheepdog upgrade and avoid restarting VMs when sheepdog servers crash unexpectedly. v3: - Check return values of qemu_co_recv/send more strictly. - Move inflight requests to the failed list after reconnection completes. This is necessary to resend I/Os while connection is lost. - Check simultaneous create in resend_aioreq(). v2: - Dropped nonblocking connect patches. MORITA Kazutaka (10): ignore SIGPIPE in qemu-img and qemu-io iov: handle EOF in iov_send_recv sheepdog: check return values of qemu_co_recv/send correctly sheepdog: handle vdi objects in resend_aio_req sheepdog: reload inode outside of resend_aioreq coroutine: add co_aio_sleep_ns() to allow sleep in block drivers sheepdog: try to reconnect to sheepdog after network error sheepdog: make add_aio_request and send_aioreq void functions sheepdog: cancel aio requests if possible sheepdog: check simultaneous create in resend_aioreq block/sheepdog.c | 314 ++++++++++++++++++++++++++++------------------ include/block/coroutine.h | 8 ++ qemu-coroutine-sleep.c | 47 +++++++ qemu-img.c | 4 + qemu-io.c | 4 + util/iov.c | 6 + 6 files changed, 263 insertions(+), 120 deletions(-) -- 1.8.1.3.566.gaa39828