diff options
author | Dongli Zhang <dongli.zhang@oracle.com> | 2025-02-02 16:52:15 -0800 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2025-05-14 05:39:15 -0400 |
commit | 1a5a2629eab94297a37e4adcc5fb69beb7bb0b0c (patch) | |
tree | 4b84db3546340ca3fbbdc19b3f8c2efd26673f10 | |
parent | bc85aae4204509420f0a4403ca728801170d9351 (diff) | |
download | qemu-1a5a2629eab94297a37e4adcc5fb69beb7bb0b0c.zip qemu-1a5a2629eab94297a37e4adcc5fb69beb7bb0b0c.tar.gz qemu-1a5a2629eab94297a37e4adcc5fb69beb7bb0b0c.tar.bz2 |
vhost-scsi: support VIRTIO_SCSI_F_HOTPLUG
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>
Message-Id: <20250203005215.1502-1-dongli.zhang@oracle.com>
Acked-by: Stefano Garzarella <sgarzare@redhat.com>
-rw-r--r-- | hw/scsi/vhost-scsi.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/hw/scsi/vhost-scsi.c b/hw/scsi/vhost-scsi.c index dd4250e..cdf405b 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), |