From 49cc0340f8be18871319ffec6efc72147e73ff0b Mon Sep 17 00:00:00 2001 From: Felipe Franciosi Date: Thu, 2 Mar 2017 10:25:53 -0800 Subject: vhost-user-scsi: Introduce a vhost-user-scsi sample application This commit introduces a vhost-user-scsi backend sample application. It must be linked with libiscsi and libvhost-user. To use it, compile with: $ make vhost-user-scsi And run as follows: $ ./vhost-user-scsi -u vus.sock -i iscsi://uri_to_target/ $ qemu-system-x86_64 --enable-kvm -m 512 \ -object memory-backend-file,id=mem,size=512m,share=on,mem-path=guestmem \ -numa node,memdev=mem \ -chardev socket,id=vhost-user-scsi,path=vus.sock \ -device vhost-user-scsi-pci,chardev=vhost-user-scsi \ The application is currently limited at one LUN only and it processes requests synchronously (therefore only achieving QD1). The purpose of the code is to show how a backend can be implemented and to test the vhost-user-scsi Qemu implementation. If a different instance of this vhost-user-scsi application is executed at a remote host, a VM can be live migrated to such a host. Signed-off-by: Felipe Franciosi Message-Id: <1488479153-21203-5-git-send-email-felipe@nutanix.com> --- contrib/libvhost-user/libvhost-user.h | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'contrib/libvhost-user/libvhost-user.h') diff --git a/contrib/libvhost-user/libvhost-user.h b/contrib/libvhost-user/libvhost-user.h index af02a31ebe..53ef222c0b 100644 --- a/contrib/libvhost-user/libvhost-user.h +++ b/contrib/libvhost-user/libvhost-user.h @@ -17,6 +17,7 @@ #include #include #include +#include #include #include "standard-headers/linux/virtio_ring.h" @@ -192,11 +193,11 @@ typedef struct VuVirtq { } VuVirtq; enum VuWatchCondtion { - VU_WATCH_IN = 1 << 0, - VU_WATCH_OUT = 1 << 1, - VU_WATCH_PRI = 1 << 2, - VU_WATCH_ERR = 1 << 3, - VU_WATCH_HUP = 1 << 4, + VU_WATCH_IN = POLLIN, + VU_WATCH_OUT = POLLOUT, + VU_WATCH_PRI = POLLPRI, + VU_WATCH_ERR = POLLERR, + VU_WATCH_HUP = POLLHUP, }; typedef void (*vu_panic_cb) (VuDev *dev, const char *err); -- cgit v1.2.3