]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu_domain: Ignore all but SCSI hostdevs in qemuDomainDeviceHostdevDefPostParseResto...
authorMichal Privoznik <mprivozn@redhat.com>
Fri, 23 Sep 2022 13:06:19 +0000 (15:06 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Fri, 23 Sep 2022 13:28:34 +0000 (15:28 +0200)
When retiring QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI capability the
commit removed a bit too much. Previously, all other devices than
VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI were ignored in
qemuDomainDeviceHostdevDefPostParseRestoreBackendAlias(). But the
commit in question removed not only the capability check but also
this return early statement. Restore it back.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2129239
Fixes: dc8dbb27d40968c9d9bfad2c6181bccc20c0e44e
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
src/qemu/qemu_domain.c

index d7ef23f4934301ca0bdd7328d9979409875e381a..ee024d17cd13f5e8957fdf28b8452e5ba6eb74e0 100644 (file)
@@ -5596,6 +5596,10 @@ qemuDomainDeviceHostdevDefPostParseRestoreBackendAlias(virDomainHostdevDef *host
     if (!(parseFlags & VIR_DOMAIN_DEF_PARSE_STATUS))
         return 0;
 
+    if (hostdev->mode != VIR_DOMAIN_HOSTDEV_MODE_SUBSYS ||
+        hostdev->source.subsys.type != VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI)
+        return 0;
+
     switch ((virDomainHostdevSCSIProtocolType) scsisrc->protocol) {
     case VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_NONE:
         if (!scsisrc->u.host.src)