Based on various discussions on the 2016 KVM Forum, I'm sending over a vhost-user-scsi implementation for your consideration.
This patch set introduces a new vhost-user SCSI device. While heavily based on vhost-scsi, it is implemented using vhost's userspace counterpart. The device has been coded and tested to work with live migration. A sample application based on the newly introduced libvhost-user is also included. It makes use of libiscsi for simplicity. For convenience, I'm maintaining an up-to-date version of these patches (including some necessary fixes for libvhost-user still under discussion) on: https://github.com/franciozzy/qemu/tree/vus-upstream See the individual patches for build and use instructions. Signed-off-by: Felipe Franciosi <fel...@nutanix.com> Felipe Franciosi (2): vus: Introduce vhost-user-scsi host device vus: Introduce a vhost-user-scsi sample application configure | 10 + hw/scsi/Makefile.objs | 1 + hw/scsi/vhost-user-scsi.c | 299 +++++++++++++ hw/virtio/virtio-pci.c | 58 +++ hw/virtio/virtio-pci.h | 15 + include/hw/virtio/vhost-user-scsi.h | 45 ++ include/hw/virtio/virtio-scsi.h | 5 + tests/Makefile.include | 2 + tests/vhost-user-scsi.c | 862 ++++++++++++++++++++++++++++++++++++ 9 files changed, 1297 insertions(+) create mode 100644 hw/scsi/vhost-user-scsi.c create mode 100644 include/hw/virtio/vhost-user-scsi.h create mode 100644 tests/vhost-user-scsi.c -- 1.9.4