On Thu, Jan 04, 2018 at 12:07:39PM +0100, Marc-André Lureau wrote:
> Hi
>
> On Thu, Jan 4, 2018 at 2:53 AM, Changpeng Liu <changpeng.liu@intel.com> wrote:
> > 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
>
> Series:
> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
>
> Michael, do you take it?
> thanks
Plan to.
Thanks,
MST
> >
> > .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
> >
> >
>
>
>
> --
> Marc-André Lureau