]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu_hotplug: Check for duplicate drive addresses
authorMichal Privoznik <mprivozn@redhat.com>
Thu, 11 Apr 2019 13:45:27 +0000 (15:45 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Thu, 18 Apr 2019 15:09:02 +0000 (17:09 +0200)
This tries to fix the same problem as f1d65853000 but it's doing
so in a less invasive way.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Tested-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
src/qemu/qemu_hotplug.c

index 16da2b95fd7397244a42b9979977208871b081dd..630be12d548a771f02162fca001ce4398e0d291d 100644 (file)
@@ -1183,6 +1183,12 @@ qemuDomainAttachSCSIDisk(virQEMUDriverPtr driver,
         return -1;
     }
 
+    if (virDomainSCSIDriveAddressIsUsed(vm->def, &disk->info.addr.drive)) {
+        virReportError(VIR_ERR_OPERATION_INVALID, "%s",
+                       _("Domain already contains a disk with that address"));
+        return -1;
+    }
+
     /* Let's make sure the disk has a controller defined and loaded before
      * trying to add it. The controller used by the disk must exist before a
      * qemu command line string is generated.