qemu: use QEMU_CAPS_STORAGE_WERROR for disk-error attributes

When moving the formatting of this attributes from -drive
to -device, the QEMU_CAPS_USB_STORAGE_WERROR capability
was used, because usb-storage was the last device to gain
this capability.

However this lead to the assumption that QEMU binaries
without the usb-storage device do not support this,
leading to breakage on s390x with blockdev.

Fixes: bb4f3543bb
https://bugzilla.redhat.com/show_bug.cgi?id=1819250

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
Ján Tomko 2020-04-01 10:34:10 +02:00
parent 47e84b06ec
commit 29fc9e96a9
3 changed files with 14 additions and 14 deletions

View File

@ -1790,7 +1790,7 @@ qemuBuildDriveStr(virDomainDiskDefPtr disk,
/* werror/rerror are really frontend attributes, but older
* qemu requires them on -drive instead of -device */
if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_USB_STORAGE_WERROR))
if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_STORAGE_WERROR))
qemuBuildDiskFrontendAttributeErrorPolicy(disk, &opt);
if (disk->src->readonly)
@ -2241,7 +2241,7 @@ qemuBuildDiskDeviceStr(const virDomainDef *def,
qemuBuildDiskFrontendAttributes(disk, &opt);
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_USB_STORAGE_WERROR))
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_STORAGE_WERROR))
qemuBuildDiskFrontendAttributeErrorPolicy(disk, &opt);
return virBufferContentAndReset(&opt);

View File

@ -26,17 +26,17 @@ file=/tmp/lib/domain--1-guest/master-key.aes \
-no-shutdown \
-boot strict=on \
-drive file=/var/images/image1,format=qcow2,if=none,id=drive-virtio-disk0,\
werror=stop,rerror=stop,cache=none \
cache=none \
-device virtio-blk-ccw,scsi=off,devno=fe.0.0000,drive=drive-virtio-disk0,\
id=virtio-disk0,bootindex=1,write-cache=on \
id=virtio-disk0,bootindex=1,write-cache=on,werror=stop,rerror=stop \
-drive file=/var/images/image2,format=qcow2,if=none,id=drive-virtio-disk1,\
werror=enospc,cache=none \
cache=none \
-device virtio-blk-ccw,scsi=off,devno=fe.0.0001,drive=drive-virtio-disk1,\
id=virtio-disk1,write-cache=on \
id=virtio-disk1,write-cache=on,werror=enospc \
-drive file=/var/images/image3,format=qcow2,if=none,id=drive-virtio-disk2,\
werror=report,rerror=ignore,cache=none \
cache=none \
-device virtio-blk-ccw,scsi=off,devno=fe.0.0002,drive=drive-virtio-disk2,\
id=virtio-disk2,write-cache=on \
id=virtio-disk2,write-cache=on,werror=report,rerror=ignore \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\
resourcecontrol=deny \
-msg timestamp=on

View File

@ -27,17 +27,17 @@ file=/tmp/lib/domain--1-guest/master-key.aes \
-no-shutdown \
-boot strict=on \
-drive file=/var/images/image1,format=qcow2,if=none,id=drive-virtio-disk0,\
werror=stop,rerror=stop,cache=none \
cache=none \
-device virtio-blk-ccw,scsi=off,devno=fe.0.0000,drive=drive-virtio-disk0,\
id=virtio-disk0,bootindex=1,write-cache=on \
id=virtio-disk0,bootindex=1,write-cache=on,werror=stop,rerror=stop \
-drive file=/var/images/image2,format=qcow2,if=none,id=drive-virtio-disk1,\
werror=enospc,cache=none \
cache=none \
-device virtio-blk-ccw,scsi=off,devno=fe.0.0001,drive=drive-virtio-disk1,\
id=virtio-disk1,write-cache=on \
id=virtio-disk1,write-cache=on,werror=enospc \
-drive file=/var/images/image3,format=qcow2,if=none,id=drive-virtio-disk2,\
werror=report,rerror=ignore,cache=none \
cache=none \
-device virtio-blk-ccw,scsi=off,devno=fe.0.0002,drive=drive-virtio-disk2,\
id=virtio-disk2,write-cache=on \
id=virtio-disk2,write-cache=on,werror=report,rerror=ignore \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\
resourcecontrol=deny \
-msg timestamp=on