From: Changpeng Liu <changpeng.liu@intel.com>
To: changpeng.liu@intel.com, qemu-devel@nongnu.org
Cc: stefanha@gmail.com, pbonzini@redhat.com, mst@redhat.com,
marcandre.lureau@redhat.com, felipe@nutanix.com,
james.r.harris@intel.com
Subject: [Qemu-devel] [PATCH v6 0/4] Introduce a new vhost-user-blk host device to QEMU
Date: Tue, 5 Dec 2017 14:27:15 +0800 [thread overview]
Message-ID: <1512455239-8296-1-git-send-email-changpeng.liu@intel.com> (raw)
Although virtio scsi specification was designed as a replacement for virtio_blk,
there are still many users using virtio_blk. Qemu 2.9 introduced a new device
vhost user scsi which can process I/O in user space for virtio_scsi, this commit
introduces a new vhost user block host device, which can support virtio_blk in
Guest OS, and I/O processing in another I/O target.
Due to the limitation for virtio_blk specification, virtio_blk device cannot get
block information such as capacity, block size etc via the specification, several
new vhost user messages were added to deliver virtio config space
information between Qemu and I/O target, VHOST_USER_GET_CONFIG/VHOST_USER_SET_CONFIG
messages used for get/set config space from/to I/O target, VHOST_USER_SET_CONFIG_FD
was added for event notifier in case the change of virtio config space. Also, those
messages can be used for vhost device live migration as well.
Changes:
v5-v6: add header flags for vhost-user master so that the slave can know the purpose for
set config, also vhost-user get/set messages' payload doesn't contain invalid data buffers.
v4-v5: add header offset and size for virtio config space.
v3-v4: refactoring the vhost user block example patch based on new libvhost-user library.
v2-v3: add new vhost user message to get/set virtio config space.
Changpeng Liu (4):
vhost-user: add new vhost user messages to support virtio config space
vhost-user-blk: introduce a new vhost-user-blk host device
contrib/libvhost-user: enable virtio config space messages
contrib/vhost-user-blk: introduce a vhost-user-blk sample application
.gitignore | 1 +
Makefile | 3 +
Makefile.objs | 1 +
contrib/libvhost-user/libvhost-user.c | 80 +++++
contrib/libvhost-user/libvhost-user.h | 36 ++-
contrib/vhost-user-blk/Makefile.objs | 1 +
contrib/vhost-user-blk/vhost-user-blk.c | 556 ++++++++++++++++++++++++++++++++
default-configs/pci.mak | 1 +
docs/interop/vhost-user.txt | 44 +++
hw/block/Makefile.objs | 3 +
hw/block/vhost-user-blk.c | 357 ++++++++++++++++++++
hw/virtio/vhost-user.c | 107 ++++++
hw/virtio/vhost.c | 64 ++++
hw/virtio/virtio-pci.c | 55 ++++
hw/virtio/virtio-pci.h | 18 ++
include/hw/virtio/vhost-backend.h | 14 +
include/hw/virtio/vhost-user-blk.h | 41 +++
include/hw/virtio/vhost.h | 16 +
18 files changed, 1397 insertions(+), 1 deletion(-)
create mode 100644 contrib/vhost-user-blk/Makefile.objs
create mode 100644 contrib/vhost-user-blk/vhost-user-blk.c
create mode 100644 hw/block/vhost-user-blk.c
create mode 100644 include/hw/virtio/vhost-user-blk.h
--
1.9.3
next reply other threads:[~2017-12-05 6:24 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-05 6:27 Changpeng Liu [this message]
2017-12-05 6:27 ` [Qemu-devel] [PATCH v6 1/4] vhost-user: add new vhost user messages to support virtio config space Changpeng Liu
2017-12-11 13:39 ` Stefan Hajnoczi
2017-12-12 1:25 ` Liu, Changpeng
2017-12-12 10:20 ` Stefan Hajnoczi
2017-12-05 6:27 ` [Qemu-devel] [PATCH v6 2/4] vhost-user-blk: introduce a new vhost-user-blk host device Changpeng Liu
2017-12-11 13:54 ` Stefan Hajnoczi
2017-12-05 6:27 ` [Qemu-devel] [PATCH v6 3/4] contrib/libvhost-user: enable virtio config space messages Changpeng Liu
2017-12-11 13:59 ` Stefan Hajnoczi
2017-12-12 1:26 ` Liu, Changpeng
2017-12-05 6:27 ` [Qemu-devel] [PATCH v6 4/4] contrib/vhost-user-blk: introduce a vhost-user-blk sample application Changpeng Liu
2017-12-11 14:33 ` Stefan Hajnoczi
2017-12-12 1:36 ` Liu, Changpeng
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=1512455239-8296-1-git-send-email-changpeng.liu@intel.com \
--to=changpeng.liu@intel.com \
--cc=felipe@nutanix.com \
--cc=james.r.harris@intel.com \
--cc=marcandre.lureau@redhat.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@gmail.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).