]> xenbits.xensource.com Git - libvirt.git/commitdiff
virDomainDeviceInfoCheckABIStability: Implement proper check for CCW addresses
authorPeter Krempa <pkrempa@redhat.com>
Thu, 2 Nov 2023 15:08:57 +0000 (16:08 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Fri, 10 Nov 2023 11:17:38 +0000 (12:17 +0100)
CCW addresses need to be also checked for ABI stability.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
src/conf/domain_conf.c

index fa97def9f7b018ae48f48fd19ca5f8b4ce025e2a..bef76f46aa1e9660319f249f2aaf706d273c2f09 100644 (file)
@@ -19719,10 +19719,21 @@ virDomainDeviceInfoCheckABIStability(virDomainDeviceInfo *src,
         }
         break;
 
+    case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW:
+        if (src->addr.ccw.cssid != dst->addr.ccw.cssid ||
+            src->addr.ccw.ssid != dst->addr.ccw.ssid ||
+            src->addr.ccw.devno != dst->addr.ccw.devno) {
+            virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+                           _("Target device CCW address %1$x.%2$x.%3$04x does not match source %4$x.%5$x.%6$04x"),
+                           dst->addr.ccw.cssid, dst->addr.ccw.ssid, dst->addr.ccw.devno,
+                           src->addr.ccw.cssid, src->addr.ccw.ssid, src->addr.ccw.devno);
+            return false;
+        }
+        break;
+
     case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_USB:
     case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_SPAPRVIO:
     case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_S390:
-    case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW:
     case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_MMIO:
     case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE:
     case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_UNASSIGNED: