From: Peter Krempa Date: Mon, 28 Jan 2019 16:12:01 +0000 (+0100) Subject: qemu: caps: Add lockout for -blockdev if QEMU_CAPS_SCSI_DISK_DEVICE_ID is not present X-Git-Tag: v5.1.0-rc1~199 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6d3c96f0d965fe182040f6442f0cbeb46d10efda;p=thirdparty%2Flibvirt.git qemu: caps: Add lockout for -blockdev if QEMU_CAPS_SCSI_DISK_DEVICE_ID is not present Avoid regressions by disallowing the BLOCKDEV capability. Signed-off-by: Peter Krempa --- diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 24d416f436..3e3af41a96 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -4331,6 +4331,11 @@ virQEMUCapsInitQMPMonitor(virQEMUCapsPtr qemuCaps, virQEMUCapsClear(qemuCaps, QEMU_CAPS_SEV_GUEST); } + /* To avoid guest ABI regression, blockdev shall be enabled only when + * we are able to pass the custom 'device_id' for SCSI disks and cdroms. */ + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_DISK_DEVICE_ID)) + virQEMUCapsClear(qemuCaps, QEMU_CAPS_BLOCKDEV); + ret = 0; cleanup: return ret;