[PATCH] qemu_domain: Ignore all but SCSI hostdevs in qemuDomainDeviceHostdevDefPostParseRestoreBackendAlias()

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> --- src/qemu/qemu_domain.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index d7ef23f493..ee024d17cd 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -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) -- 2.35.1

On Fri, Sep 23, 2022 at 15:11:40 +0200, Michal Privoznik wrote:
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> --- src/qemu/qemu_domain.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index d7ef23f493..ee024d17cd 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -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)
Oops, Reviewed-by: Peter Krempa <pkrempa@redhat.com>

On Fri, Sep 23, 2022 at 03:11:40PM +0200, Michal Privoznik wrote:
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: Martin Kletzander <mkletzan@redhat.com>
--- src/qemu/qemu_domain.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index d7ef23f493..ee024d17cd 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -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) -- 2.35.1
participants (3)
-
Martin Kletzander
-
Michal Privoznik
-
Peter Krempa