From: Stefan Hajnoczi <stefanha@gmail.com>
To: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
Cc: Kevin Wolf <kwolf@redhat.com>,
sheepdog@lists.wpkg.org, nick@bytemark.co.uk,
qemu-devel@nongnu.org, Stefan Hajnoczi <stefanha@redhat.com>,
Liu Yuan <namei.unix@gmail.com>,
Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v4 00/10] sheepdog: reconnect server after connection failure
Date: Tue, 30 Jul 2013 16:13:38 +0200 [thread overview]
Message-ID: <20130730141338.GD7471@stefanha-thinkpad.redhat.com> (raw)
In-Reply-To: <1374819052-4292-1-git-send-email-morita.kazutaka@lab.ntt.co.jp>
On Fri, Jul 26, 2013 at 03:10:42PM +0900, MORITA Kazutaka wrote:
> 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.
>
> v4:
> - Added comment to explain why we need a failed queue.
> - Fixed a return value of sd_acb_cancelable().
>
> 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 | 320 +++++++++++++++++++++++++++++-----------------
> 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, 269 insertions(+), 120 deletions(-)
I have done a brief review. The biggest change that I suggest using the
new AioContext timer support that Alex Bligh and Ping Fan are working on
(see qemu-devel for the latest patches). It provides a way to use a
timer during qemu_aio_wait() without spinning.
CCed Nick Thomas who worked on NBD reconnect. Maybe your series will
motivate him to push his patches again, or he might have some review
suggestions for you.
prev parent reply other threads:[~2013-07-30 14:13 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-26 6:10 [Qemu-devel] [PATCH v4 00/10] sheepdog: reconnect server after connection failure MORITA Kazutaka
2013-07-26 6:10 ` [Qemu-devel] [PATCH v4 01/10] ignore SIGPIPE in qemu-img and qemu-io MORITA Kazutaka
2013-07-30 13:41 ` Stefan Hajnoczi
2013-07-26 6:10 ` [Qemu-devel] [PATCH v4 02/10] iov: handle EOF in iov_send_recv MORITA Kazutaka
2013-07-26 6:10 ` [Qemu-devel] [PATCH v4 03/10] sheepdog: check return values of qemu_co_recv/send correctly MORITA Kazutaka
2013-07-30 13:48 ` Stefan Hajnoczi
2013-08-02 6:09 ` [Qemu-devel] [sheepdog] " MORITA Kazutaka
2013-07-26 6:10 ` [Qemu-devel] [PATCH v4 04/10] sheepdog: handle vdi objects in resend_aio_req MORITA Kazutaka
2013-07-26 6:10 ` [Qemu-devel] [PATCH v4 05/10] sheepdog: reload inode outside of resend_aioreq MORITA Kazutaka
2013-07-26 6:10 ` [Qemu-devel] [PATCH v4 06/10] coroutine: add co_aio_sleep_ns() to allow sleep in block drivers MORITA Kazutaka
2013-07-30 13:58 ` Stefan Hajnoczi
2013-08-02 6:20 ` [Qemu-devel] [sheepdog] " MORITA Kazutaka
2013-08-02 8:19 ` liu ping fan
2013-08-02 9:35 ` Alex Bligh
2013-07-26 6:10 ` [Qemu-devel] [PATCH v4 07/10] sheepdog: try to reconnect to sheepdog after network error MORITA Kazutaka
2013-07-26 6:10 ` [Qemu-devel] [PATCH v4 08/10] sheepdog: make add_aio_request and send_aioreq void functions MORITA Kazutaka
2013-07-26 6:10 ` [Qemu-devel] [PATCH v4 09/10] sheepdog: cancel aio requests if possible MORITA Kazutaka
2013-07-26 6:10 ` [Qemu-devel] [PATCH v4 10/10] sheepdog: check simultaneous create in resend_aioreq MORITA Kazutaka
2013-07-30 14:13 ` Stefan Hajnoczi [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130730141338.GD7471@stefanha-thinkpad.redhat.com \
--to=stefanha@gmail.com \
--cc=kwolf@redhat.com \
--cc=morita.kazutaka@lab.ntt.co.jp \
--cc=namei.unix@gmail.com \
--cc=nick@bytemark.co.uk \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=sheepdog@lists.wpkg.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).