On Thu, Aug 10, 2017 at 06:12:27PM +0800, Changpeng Liu wrote: > Althrough 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 support 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.
As we are busy wrapping up a QEMU release, please remember to repost after the release. > 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 | 2 + > configure | 11 + > contrib/libvhost-user/libvhost-user.c | 51 +++ > contrib/libvhost-user/libvhost-user.h | 14 + > contrib/vhost-user-blk/Makefile.objs | 1 + > contrib/vhost-user-blk/vhost-user-blk.c | 735 > ++++++++++++++++++++++++++++++++ > docs/interop/vhost-user.txt | 31 ++ > hw/block/Makefile.objs | 3 + > hw/block/vhost-user-blk.c | 360 ++++++++++++++++ > hw/virtio/vhost-user.c | 86 ++++ > hw/virtio/vhost.c | 63 +++ > hw/virtio/virtio-pci.c | 55 +++ > hw/virtio/virtio-pci.h | 18 + > include/hw/virtio/vhost-backend.h | 8 + > include/hw/virtio/vhost-user-blk.h | 40 ++ > include/hw/virtio/vhost.h | 16 + > 18 files changed, 1498 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