qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v10 0/4] Introduce a new vhost-user-blk host device


From: Changpeng Liu
Subject: [Qemu-devel] [PATCH v10 0/4] Introduce a new vhost-user-blk host device to QEMU
Date: Thu, 4 Jan 2018 09:53:30 +0800

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_SLAVE_CONFIG_CHANGE_MSG
slave message was added for the event notifier in case the change of virtio 
config space. Also,
those messages can be used for vhost device live migration as well.

CHANGES:
v10: fix the code style error.
v8-v9: Several small optimization and code cleanup according to the comments.
v7-v8: Instead using an event file descriptor for event notifier in case of 
virtio
configuration space changed, while here used a new vhost-user slave message to 
deliver
such event. Several small optimizations to address the comments from v7.
v6-v7: change the parameter of set configuration function let it only contain 
valid data buffer.
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   |  42 +++
 contrib/libvhost-user/libvhost-user.h   |  33 ++
 contrib/vhost-user-blk/Makefile.objs    |   1 +
 contrib/vhost-user-blk/vhost-user-blk.c | 545 ++++++++++++++++++++++++++++++++
 default-configs/pci.mak                 |   1 +
 docs/interop/vhost-user.txt             |  55 ++++
 hw/block/Makefile.objs                  |   3 +
 hw/block/vhost-user-blk.c               | 359 +++++++++++++++++++++
 hw/virtio/vhost-user.c                  | 118 +++++++
 hw/virtio/vhost.c                       |  32 ++
 hw/virtio/virtio-pci.c                  |  55 ++++
 hw/virtio/virtio-pci.h                  |  18 ++
 include/hw/virtio/vhost-backend.h       |  12 +
 include/hw/virtio/vhost-user-blk.h      |  41 +++
 include/hw/virtio/vhost.h               |  15 +
 18 files changed, 1335 insertions(+)
 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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]