qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Max Reitz <mreitz@redhat.com>
To: qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Max Reitz <mreitz@redhat.com>
Subject: [Qemu-devel] [PATCH 0/3] nbd: Adapt for dataplane
Date: Sat, 14 Jun 2014 00:30:38 +0200	[thread overview]
Message-ID: <1402698641-4911-1-git-send-email-mreitz@redhat.com> (raw)

For the NBD server to work with dataplane, it needs to correctly access
the exported BDS. It makes the most sense to run both in the same
AioContext, therefore this series implements methods for tracking a
BDS's AioContext and makes NBD make use of this for keeping the clients
connected to that BDS in the same AioContext.

This series differs from the RFC as follows:
- The first patch for export_set_name() has been dropped.
- nbd_can_read() has been dropped and all attempts on implementing the
  required functionality for aio_set_fd_handler() as well. This is now
  implemented directly in NBD by unregistering the read handler whenever
  NBD cannot read.
- Renamed "AIO followers" to "AIO notifiers".

I tested this patch as Stefan suggested, that is, created IO load in the
guest with multiple dds from the block devices and then read from random
addresses over NBD (two block devices and one NBD client per device). I
didn't run into any problems and the NBD code indeed did attach and
detach from the respective AIO contexts, so this time I'm more confident
that it indeed does work.


Max Reitz (3):
  nbd: Drop nbd_can_read()
  block: Add AIO context notifiers
  nbd: Follow the BDS' AIO context

 block.c                   |  56 ++++++++++++++++++++++++
 include/block/block_int.h |  41 ++++++++++++++++++
 nbd.c                     | 108 ++++++++++++++++++++++++++++++++++++++--------
 3 files changed, 186 insertions(+), 19 deletions(-)

-- 
2.0.0

             reply	other threads:[~2014-06-13 22:31 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-13 22:30 Max Reitz [this message]
2014-06-13 22:30 ` [Qemu-devel] [PATCH 1/3] nbd: Drop nbd_can_read() Max Reitz
2014-06-14  7:57   ` Paolo Bonzini
2014-06-14 18:31     ` Max Reitz
2014-06-13 22:30 ` [Qemu-devel] [PATCH 2/3] block: Add AIO context notifiers Max Reitz
2014-06-13 22:30 ` [Qemu-devel] [PATCH 3/3] nbd: Follow the BDS' AIO context Max Reitz

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=1402698641-4911-1-git-send-email-mreitz@redhat.com \
    --to=mreitz@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.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).