Message ID | 20250203005215.1502-1-dongli.zhang@oracle.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [1/1] vhost-scsi: support VIRTIO_SCSI_F_HOTPLUG | expand |
On Sun, Feb 02, 2025 at 04:52:15PM -0800, Dongli Zhang wrote: >So far there isn't way to test host kernel vhost-scsi event queue path, >because VIRTIO_SCSI_F_HOTPLUG isn't supported by QEMU. > >virtio-scsi.c and vhost-user-scsi.c already support VIRTIO_SCSI_F_HOTPLUG >as property "hotplug". > >Add support to vhost-scsi.c to help evaluate and test event queue. > >To test the feature: > >1. Create vhost-scsi target with targetcli. > >targetcli /backstores/fileio create name=storage file_or_dev=disk01.raw >targetcli /vhost create naa.1123451234512345 >targetcli /vhost/naa.1123451234512345/tpg1/luns create /backstores/fileio/storage > >2. Create QEMU instance with vhost-scsi. > >-device vhost-scsi-pci,wwpn=naa.1123451234512345,hotplug=true > >3. Once guest bootup, hotplug a new LUN from host. > >targetcli /backstores/fileio create name=storage02 file_or_dev=disk02.raw >targetcli /vhost/naa.1123451234512345/tpg1/luns create /backstores/fileio/storage02 > >Signed-off-by: Dongli Zhang <dongli.zhang@oracle.com> >--- > hw/scsi/vhost-scsi.c | 3 +++ > 1 file changed, 3 insertions(+) LGTM: Acked-by: Stefano Garzarella <sgarzare@redhat.com> > >diff --git a/hw/scsi/vhost-scsi.c b/hw/scsi/vhost-scsi.c >index 8039d13fd9..d3a260f6a7 100644 >--- a/hw/scsi/vhost-scsi.c >+++ b/hw/scsi/vhost-scsi.c >@@ -359,6 +359,9 @@ static const Property vhost_scsi_properties[] = { > DEFINE_PROP_BIT64("t10_pi", VHostSCSICommon, host_features, > VIRTIO_SCSI_F_T10_PI, > false), >+ DEFINE_PROP_BIT64("hotplug", VHostSCSICommon, host_features, >+ VIRTIO_SCSI_F_HOTPLUG, >+ false), > DEFINE_PROP_BOOL("migratable", VHostSCSICommon, migratable, false), > DEFINE_PROP_BOOL("worker_per_virtqueue", VirtIOSCSICommon, > conf.worker_per_virtqueue, false), >-- >2.39.3 >
diff --git a/hw/scsi/vhost-scsi.c b/hw/scsi/vhost-scsi.c index 8039d13fd9..d3a260f6a7 100644 --- a/hw/scsi/vhost-scsi.c +++ b/hw/scsi/vhost-scsi.c @@ -359,6 +359,9 @@ static const Property vhost_scsi_properties[] = { DEFINE_PROP_BIT64("t10_pi", VHostSCSICommon, host_features, VIRTIO_SCSI_F_T10_PI, false), + DEFINE_PROP_BIT64("hotplug", VHostSCSICommon, host_features, + VIRTIO_SCSI_F_HOTPLUG, + false), DEFINE_PROP_BOOL("migratable", VHostSCSICommon, migratable, false), DEFINE_PROP_BOOL("worker_per_virtqueue", VirtIOSCSICommon, conf.worker_per_virtqueue, false),
So far there isn't way to test host kernel vhost-scsi event queue path, because VIRTIO_SCSI_F_HOTPLUG isn't supported by QEMU. virtio-scsi.c and vhost-user-scsi.c already support VIRTIO_SCSI_F_HOTPLUG as property "hotplug". Add support to vhost-scsi.c to help evaluate and test event queue. To test the feature: 1. Create vhost-scsi target with targetcli. targetcli /backstores/fileio create name=storage file_or_dev=disk01.raw targetcli /vhost create naa.1123451234512345 targetcli /vhost/naa.1123451234512345/tpg1/luns create /backstores/fileio/storage 2. Create QEMU instance with vhost-scsi. -device vhost-scsi-pci,wwpn=naa.1123451234512345,hotplug=true 3. Once guest bootup, hotplug a new LUN from host. targetcli /backstores/fileio create name=storage02 file_or_dev=disk02.raw targetcli /vhost/naa.1123451234512345/tpg1/luns create /backstores/fileio/storage02 Signed-off-by: Dongli Zhang <dongli.zhang@oracle.com> --- hw/scsi/vhost-scsi.c | 3 +++ 1 file changed, 3 insertions(+)