[libvirt] [PATCH 12/13] qemu: only add channel arg to scsi-disk if qemu binary supports it

Laine Stump laine at laine.org
Tue May 5 18:03:17 UTC 2015


libvirt enforces bus (channel to qemu) == 0 for those qemu binaries
that don't support the channel argument to scsi disk devices, but
still adds "channel=0" in those cases. Apparently nobody with a qemu
old enough to not support channel ever uses these devices, because
they otherwise should get an error.

This patch only adds channel when the scsi-disk.channel capability is
set for the qemu binary. Most of the change in the patch is updating
patches to either 1) remove channel=0 from the .args file of the test,
or 2) reposition channel=0 to precede the bus arg (because this makes
the code cleaner/simpler) and change the DO_TEST() invocation for the
test to add QEMU_CAPS_SCSI_DISK_CHANNEL.

I'm uncommitted about whether or not it is worthwhile to push this
patch. On one hand, I'm fairly certain this is what is correct; on the
other hand nobody has ever complained about it, and at this point
almost everyone is using new enough qemu that it supports channel.
---
 src/qemu/qemu_command.c                            |  7 +++---
 .../qemuxml2argv-disk-drive-network-iscsi-lun.args |  2 +-
 .../qemuxml2argv-disk-scsi-disk-split.args         |  8 +++----
 .../qemuxml2argv-disk-scsi-disk-vpd.args           |  2 +-
 .../qemuxml2argv-disk-scsi-disk-wwn.args           |  4 ++--
 .../qemuxml2argv-disk-scsi-lun-passthrough.args    |  4 ++--
 .../qemuxml2argv-disk-scsi-megasas.args            |  2 +-
 .../qemuxml2argv-disk-scsi-virtio-scsi.args        |  2 +-
 .../qemuxml2argv-disk-scsi-vscsi.args              |  2 +-
 .../qemuxml2argv-disk-virtio-scsi-ccw.args         |  2 +-
 .../qemuxml2argv-disk-virtio-scsi-cmd_per_lun.args |  2 +-
 .../qemuxml2argv-disk-virtio-scsi-max_sectors.args |  2 +-
 .../qemuxml2argv-disk-virtio-scsi-num_queues.args  |  2 +-
 .../qemuxml2argv-pseries-vio-user-assigned.args    |  2 +-
 .../qemuxml2argvdata/qemuxml2argv-pseries-vio.args |  2 +-
 tests/qemuxml2argvtest.c                           | 25 +++++++++++++---------
 16 files changed, 38 insertions(+), 32 deletions(-)

diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 72d425f..12de4ca 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -4136,7 +4136,9 @@ qemuBuildDriveDevStr(virDomainDefPtr def,
                               disk->info.addr.drive.bus,
                               disk->info.addr.drive.unit);
         } else {
-            if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_DISK_CHANNEL)) {
+            if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_DISK_CHANNEL)) {
+                virBufferAsprintf(&opt, ",channel=%d", disk->info.addr.drive.bus);
+            } else {
                 if (disk->info.addr.drive.target > 7) {
                     virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
                                    _("This QEMU doesn't support target "
@@ -4153,9 +4155,8 @@ qemuBuildDriveDevStr(virDomainDefPtr def,
                 }
             }
 
-            virBufferAsprintf(&opt, ",bus=%s.0,channel=%d,scsi-id=%d,lun=%d",
+            virBufferAsprintf(&opt, ",bus=%s.0,scsi-id=%d,lun=%d",
                               contAlias,
-                              disk->info.addr.drive.bus,
                               disk->info.addr.drive.target,
                               disk->info.addr.drive.unit);
         }
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi-lun.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi-lun.args
index 109f2f8..4e4f8b1 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi-lun.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi-lun.args
@@ -3,5 +3,5 @@ LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
 -monitor unix:/tmp/test-monitor,server,nowait -no-acpi -boot c \
 -device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x3 -usb \
 -drive file=iscsi://example.org:3260/iqn.1992-01.com.example,if=none,\
-id=drive-scsi0-0-0-0,format=raw -device scsi-block,bus=scsi0.0,channel=0,\
+id=drive-scsi0-0-0-0,format=raw -device scsi-block,channel=0,bus=scsi0.0,\
 scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-split.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-split.args
index 87799b2..f0bc952 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-split.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-split.args
@@ -7,15 +7,15 @@ LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
 -device virtio-scsi-pci,id=scsi3,bus=pci.0,addr=0x6 \
 -usb \
 -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-scsi0-0-1-0 \
--device scsi-cd,bus=scsi0.0,channel=0,scsi-id=1,lun=0,drive=drive-scsi0-0-1-0,\
+-device scsi-cd,channel=0,bus=scsi0.0,scsi-id=1,lun=0,drive=drive-scsi0-0-1-0,\
 id=scsi0-0-1-0 \
 -drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-scsi0-0-0-0 \
--device scsi-cd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,\
+-device scsi-cd,channel=0,bus=scsi0.0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,\
 id=scsi0-0-0-0 \
 -drive file=/tmp/scsidisk.img,if=none,id=drive-scsi0-0-0-1 \
--device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=1,drive=drive-scsi0-0-0-1,\
+-device scsi-hd,channel=0,bus=scsi0.0,scsi-id=0,lun=1,drive=drive-scsi0-0-0-1,\
 id=scsi0-0-0-1 \
 -drive file=/tmp/scsidisk.img,if=none,id=drive-scsi0-0-1-1 \
--device scsi-hd,bus=scsi0.0,channel=0,scsi-id=1,lun=1,drive=drive-scsi0-0-1-1,\
+-device scsi-hd,channel=0,bus=scsi0.0,scsi-id=1,lun=1,drive=drive-scsi0-0-1-1,\
 id=scsi0-0-1-1 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x7
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-vpd.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-vpd.args
index aa6e639..23e4830 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-vpd.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-vpd.args
@@ -5,7 +5,7 @@ LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
 -device lsi,id=scsi1,bus=pci.0,addr=0x4 \
 -usb \
 -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-scsi0-0-0-0 \
--device scsi-cd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,\
+-device scsi-cd,bus=scsi0.0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,\
 id=scsi0-0-0-0,vendor=SEAGATE,product=ST3146707LC \
 -drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-scsi1-0-0 \
 -device scsi-hd,bus=scsi1.0,scsi-id=0,drive=drive-scsi1-0-0,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-wwn.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-wwn.args
index f2e1a95..28b9d02 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-wwn.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-wwn.args
@@ -5,9 +5,9 @@ LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
 -device lsi,id=scsi1,bus=pci.0,addr=0x4 \
 -usb \
 -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-scsi0-0-1-0 \
--device scsi-cd,bus=scsi0.0,channel=0,scsi-id=1,lun=0,drive=drive-scsi0-0-1-0,\
+-device scsi-cd,channel=0,bus=scsi0.0,scsi-id=1,lun=0,drive=drive-scsi0-0-1-0,\
 id=scsi0-0-1-0,wwn=0x5000c50015ea71ac \
 -drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-scsi0-0-0-0 \
--device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,\
+-device scsi-hd,channel=0,bus=scsi0.0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,\
 id=scsi0-0-0-0,wwn=0x5000c50015ea71ad \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-lun-passthrough.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-lun-passthrough.args
index 163b91d..e1dfc1a 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-lun-passthrough.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-lun-passthrough.args
@@ -6,9 +6,9 @@ pc -m 214 -smp 1 -nographic -nodefaults \
 -device lsi,id=scsi1,bus=pci.0,addr=0x4 \
 -usb \
 -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-scsi0-0-0-0 \
--device scsi-block,bus=scsi0.0,channel=0,scsi-id=0,lun=0,\
+-device scsi-block,channel=0,bus=scsi0.0,scsi-id=0,lun=0,\
 drive=drive-scsi0-0-0-0,id=scsi0-0-0-0 \
 -drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-scsi0-0-1-1 \
--device scsi-block,bus=scsi0.0,channel=0,scsi-id=1,lun=1,\
+-device scsi-block,channel=0,bus=scsi0.0,scsi-id=1,lun=1,\
 drive=drive-scsi0-0-1-1,id=scsi0-0-1-1 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-megasas.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-megasas.args
index f20f25e..ebd1218 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-megasas.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-megasas.args
@@ -5,6 +5,6 @@ unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -device \
 megasas,id=scsi0,bus=pci.0,addr=0x3 -usb -drive file=/dev/HostVG/QEMUGuest1,\
 if=none,id=drive-ide0-0-0 -device ide-drive,bus=ide.0,unit=0,\
 drive=drive-ide0-0-0,id=ide0-0-0 -drive file=/tmp/scsidisk.img,if=none,\
-id=drive-scsi0-0-4-0 -device scsi-disk,bus=scsi0.0,channel=0,scsi-id=4,lun=0,\
+id=drive-scsi0-0-4-0 -device scsi-disk,channel=0,bus=scsi0.0,scsi-id=4,lun=0,\
 drive=drive-scsi0-0-4-0,id=scsi0-0-4-0 -device virtio-balloon-pci,\
 id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-virtio-scsi.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-virtio-scsi.args
index de53ece..1063a1c 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-virtio-scsi.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-virtio-scsi.args
@@ -5,6 +5,6 @@ unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -device \
 virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x3 -usb -drive file=/dev/HostVG/QEMUGuest1,\
 if=none,id=drive-ide0-0-0 -device ide-drive,bus=ide.0,unit=0,\
 drive=drive-ide0-0-0,id=ide0-0-0 -drive file=/tmp/scsidisk.img,if=none,\
-id=drive-scsi0-0-4-0 -device scsi-disk,bus=scsi0.0,channel=0,scsi-id=4,lun=0,\
+id=drive-scsi0-0-4-0 -device scsi-disk,channel=0,bus=scsi0.0,scsi-id=4,lun=0,\
 drive=drive-scsi0-0-4-0,id=scsi0-0-4-0 -device virtio-balloon-pci,\
 id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-vscsi.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-vscsi.args
index a353b06..32d6e71 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-vscsi.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-vscsi.args
@@ -6,6 +6,6 @@ id=scsi0,reg=0x2000 -usb \
 -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
 -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -drive file=/tmp/scsidisk.img,if=none,id=drive-scsi0-0-3-0 \
--device scsi-disk,bus=scsi0.0,channel=0,scsi-id=3,lun=0,\
+-device scsi-disk,bus=scsi0.0,scsi-id=3,lun=0,\
 drive=drive-scsi0-0-3-0,id=scsi0-0-3-0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-ccw.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-ccw.args
index 7b4d24b..8bfa847 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-ccw.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-ccw.args
@@ -7,6 +7,6 @@ LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
 -device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,\
 id=virtio-disk0 \
 -drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-scsi0-0-4-0 \
--device scsi-disk,bus=scsi0.0,channel=0,scsi-id=4,lun=0,\
+-device scsi-disk,channel=0,bus=scsi0.0,scsi-id=4,lun=0,\
 drive=drive-scsi0-0-4-0,id=scsi0-0-4-0 \
 -device virtio-balloon-ccw,id=balloon0,devno=fe.0.000a
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-cmd_per_lun.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-cmd_per_lun.args
index 2c75790..3b8450c 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-cmd_per_lun.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-cmd_per_lun.args
@@ -4,6 +4,6 @@ LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
 -device virtio-scsi-pci,id=scsi0,cmd_per_lun=50,bus=pci.0,addr=0x3 \
 -usb \
 -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-scsi0-0-0-0 \
--device scsi-disk,bus=scsi0.0,channel=0,scsi-id=0,lun=0,\
+-device scsi-disk,channel=0,bus=scsi0.0,scsi-id=0,lun=0,\
 drive=drive-scsi0-0-0-0,id=scsi0-0-0-0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-max_sectors.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-max_sectors.args
index 895f379..913a7a2 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-max_sectors.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-max_sectors.args
@@ -4,6 +4,6 @@ LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
 -device virtio-scsi-pci,id=scsi0,max_sectors=512,bus=pci.0,addr=0x3 \
 -usb \
 -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-scsi0-0-0-0 \
--device scsi-disk,bus=scsi0.0,channel=0,scsi-id=0,lun=0,\
+-device scsi-disk,channel=0,bus=scsi0.0,scsi-id=0,lun=0,\
 drive=drive-scsi0-0-0-0,id=scsi0-0-0-0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-num_queues.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-num_queues.args
index 4f03a79..fe14d23 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-num_queues.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-num_queues.args
@@ -4,6 +4,6 @@ LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
 -device virtio-scsi-pci,id=scsi0,num_queues=8,bus=pci.0,addr=0x3 \
 -usb \
 -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-scsi0-0-0-0 \
--device scsi-disk,bus=scsi0.0,channel=0,scsi-id=0,lun=0,\
+-device scsi-disk,channel=0,bus=scsi0.0,scsi-id=0,lun=0,\
 drive=drive-scsi0-0-0-0,id=scsi0-0-0-0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio-user-assigned.args b/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio-user-assigned.args
index c62cc9a..c544e71 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio-user-assigned.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio-user-assigned.args
@@ -6,7 +6,7 @@ LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
 -device spapr-vscsi,id=scsi0,reg=0x2000 \
 -device spapr-vscsi,id=scsi1,reg=0x30000000 \
 -usb -drive file=/tmp/scsidisk.img,if=none,id=drive-scsi1-0-0-0 \
--device scsi-disk,bus=scsi1.0,channel=0,scsi-id=0,lun=0,\
+-device scsi-disk,bus=scsi1.0,scsi-id=0,lun=0,\
 drive=drive-scsi1-0-0-0,id=scsi1-0-0-0 \
 -chardev pty,id=charserial0 \
 -device spapr-vty,chardev=charserial0,reg=0x20000000 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio.args b/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio.args
index f7c3af0..aff243e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-vio.args
@@ -6,7 +6,7 @@ LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
 -device spapr-vscsi,id=scsi0,reg=0x2000 \
 -device spapr-vscsi,id=scsi1,reg=0x3000 \
 -usb -drive file=/tmp/scsidisk.img,if=none,id=drive-scsi1-0-0-0 \
--device scsi-disk,bus=scsi1.0,channel=0,scsi-id=0,lun=0,\
+-device scsi-disk,bus=scsi1.0,scsi-id=0,lun=0,\
 drive=drive-scsi1-0-0-0,id=scsi1-0-0-0 \
 -chardev pty,id=charserial0 \
 -device spapr-vty,chardev=charserial0,reg=0x30000000 \
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 4712819..1787eb7 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -726,7 +726,8 @@ mymain(void)
     DO_TEST("disk-virtio-ccw-many", QEMU_CAPS_DRIVE,
             QEMU_CAPS_DEVICE, QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
     DO_TEST("disk-virtio-scsi-ccw", QEMU_CAPS_DRIVE, QEMU_CAPS_VIRTIO_SCSI,
-            QEMU_CAPS_DEVICE, QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
+            QEMU_CAPS_DEVICE, QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390,
+            QEMU_CAPS_SCSI_DISK_CHANNEL);
     DO_TEST("disk-order",
             QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE_BOOT,
             QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO);
@@ -792,7 +793,8 @@ mymain(void)
     DO_TEST("disk-drive-network-iscsi-lun",
             QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE_FORMAT,
             QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_VIRTIO_SCSI,
-            QEMU_CAPS_VIRTIO_BLK_SG_IO, QEMU_CAPS_SCSI_BLOCK);
+            QEMU_CAPS_VIRTIO_BLK_SG_IO, QEMU_CAPS_SCSI_BLOCK,
+            QEMU_CAPS_SCSI_DISK_CHANNEL);
     DO_TEST("disk-drive-network-gluster",
             QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-drive-network-rbd",
@@ -827,11 +829,13 @@ mymain(void)
             QEMU_CAPS_SCSI_LSI);
     DO_TEST("disk-scsi-disk-split",
             QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
-            QEMU_CAPS_SCSI_CD, QEMU_CAPS_SCSI_LSI, QEMU_CAPS_VIRTIO_SCSI);
+            QEMU_CAPS_SCSI_CD, QEMU_CAPS_SCSI_LSI, QEMU_CAPS_VIRTIO_SCSI,
+            QEMU_CAPS_SCSI_DISK_CHANNEL);
     DO_TEST("disk-scsi-disk-wwn",
             QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
             QEMU_CAPS_SCSI_CD, QEMU_CAPS_SCSI_LSI, QEMU_CAPS_VIRTIO_SCSI,
-            QEMU_CAPS_SCSI_DISK_WWN);
+            QEMU_CAPS_SCSI_DISK_WWN, QEMU_CAPS_SCSI_DISK_CHANNEL);
+
     DO_TEST("disk-scsi-disk-vpd",
             QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
             QEMU_CAPS_SCSI_CD, QEMU_CAPS_SCSI_LSI, QEMU_CAPS_VIRTIO_SCSI,
@@ -844,19 +848,19 @@ mymain(void)
             QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
     DO_TEST("disk-scsi-virtio-scsi",
             QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
-            QEMU_CAPS_VIRTIO_SCSI);
+            QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_SCSI_DISK_CHANNEL);
     DO_TEST("disk-virtio-scsi-num_queues",
             QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
-            QEMU_CAPS_VIRTIO_SCSI);
+            QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_SCSI_DISK_CHANNEL);
     DO_TEST("disk-virtio-scsi-cmd_per_lun",
             QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
-            QEMU_CAPS_VIRTIO_SCSI);
+            QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_SCSI_DISK_CHANNEL);
     DO_TEST("disk-virtio-scsi-max_sectors",
             QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
-            QEMU_CAPS_VIRTIO_SCSI);
+            QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_SCSI_DISK_CHANNEL);
     DO_TEST("disk-scsi-megasas",
             QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
-            QEMU_CAPS_SCSI_MEGASAS);
+            QEMU_CAPS_SCSI_MEGASAS, QEMU_CAPS_SCSI_DISK_CHANNEL);
     DO_TEST("disk-sata-device",
             QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE,
             QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_ICH9_AHCI);
@@ -894,7 +898,8 @@ mymain(void)
             QEMU_CAPS_DRIVE,
             QEMU_CAPS_DEVICE,
             QEMU_CAPS_SCSI_BLOCK, QEMU_CAPS_VIRTIO_BLK_SG_IO,
-            QEMU_CAPS_SCSI_LSI, QEMU_CAPS_VIRTIO_SCSI);
+            QEMU_CAPS_SCSI_LSI, QEMU_CAPS_VIRTIO_SCSI,
+            QEMU_CAPS_SCSI_DISK_CHANNEL);
     DO_TEST("disk-serial",
             QEMU_CAPS_KVM,
             QEMU_CAPS_DEVICE,
-- 
2.1.0




More information about the libvir-list mailing list