]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: Replace qemuDomainDiskSourceDiffers by virStorageSourceIsSameLocation
authorPeter Krempa <pkrempa@redhat.com>
Wed, 18 Jul 2018 15:11:50 +0000 (17:11 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Fri, 20 Jul 2018 13:41:38 +0000 (15:41 +0200)
Now that we have a saner replacement for checking if the disk source is
the same use it instead of formatting qemu command-line chunks.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_domain.c
src/qemu/qemu_domain.h
src/qemu/qemu_driver.c

index 9750521726f6ebf1104f2510b5d650149af3c786..de056272e8d382235e986f13a4e02f9b73677666 100644 (file)
@@ -8705,40 +8705,6 @@ qemuDomainDiskChainElementPrepare(virQEMUDriverPtr driver,
 }
 
 
-bool
-qemuDomainDiskSourceDiffers(virDomainDiskDefPtr disk,
-                            virDomainDiskDefPtr origDisk)
-{
-    char *diskSrc = NULL, *origDiskSrc = NULL;
-    bool diskEmpty, origDiskEmpty;
-    bool ret = true;
-
-    diskEmpty = virStorageSourceIsEmpty(disk->src);
-    origDiskEmpty = virStorageSourceIsEmpty(origDisk->src);
-
-    if (diskEmpty && origDiskEmpty)
-        return false;
-
-    if (diskEmpty ^ origDiskEmpty)
-        return true;
-
-    /* This won't be a network storage, so no need to get the diskPriv
-     * in order to fetch the secret, thus NULL for param2 */
-    if (qemuGetDriveSourceString(disk->src, NULL, &diskSrc) < 0 ||
-        qemuGetDriveSourceString(origDisk->src, NULL, &origDiskSrc) < 0)
-        goto cleanup;
-
-    /* So far in qemu disk sources are considered different
-     * if either path to disk or its format changes. */
-    ret = virDomainDiskGetFormat(disk) != virDomainDiskGetFormat(origDisk) ||
-          STRNEQ_NULLABLE(diskSrc, origDiskSrc);
- cleanup:
-    VIR_FREE(diskSrc);
-    VIR_FREE(origDiskSrc);
-    return ret;
-}
-
-
 /*
  * Makes sure the @disk differs from @orig_disk only by the source
  * path and nothing else.  Fields that are being checked and the
index 22c3a513542072c4efa0842f38039eba21956a89..bff293fc0a4f8bdbaa0181ca8d0916b75c406807 100644 (file)
@@ -720,9 +720,6 @@ int qemuDomainDetermineDiskChain(virQEMUDriverPtr driver,
                                  virDomainDiskDefPtr disk,
                                  bool report_broken);
 
-bool qemuDomainDiskSourceDiffers(virDomainDiskDefPtr disk,
-                                 virDomainDiskDefPtr origDisk);
-
 bool qemuDomainDiskChangeSupported(virDomainDiskDefPtr disk,
                                    virDomainDiskDefPtr orig_disk);
 
index a7279ecc640ef66dc810e885b75ab8e3a95e005a..ca04be30c82d1607caf806dff8b52a20b4385917 100644 (file)
@@ -7871,7 +7871,7 @@ qemuDomainChangeDiskLive(virDomainObjPtr vm,
     if (!qemuDomainDiskChangeSupported(disk, orig_disk))
         goto cleanup;
 
-    if (qemuDomainDiskSourceDiffers(disk, orig_disk)) {
+    if (!virStorageSourceIsSameLocation(disk->src, orig_disk->src)) {
         /* Disk source can be changed only for removable devices */
         if (disk->device != VIR_DOMAIN_DISK_DEVICE_CDROM &&
             disk->device != VIR_DOMAIN_DISK_DEVICE_FLOPPY) {