]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: block: explicitly pass backing store to qemuBlockStorageSourceAttachPrepareBlockdev
authorPeter Krempa <pkrempa@redhat.com>
Tue, 3 Sep 2019 11:58:34 +0000 (13:58 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Fri, 6 Sep 2019 06:12:21 +0000 (08:12 +0200)
Pass backing store as an argument rather than extracting it locally and
fix the callers.

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

index fb631276c9d22fcf61032c5393cbde8514363abc..4b5dd30e17e2e62a415135959bea66ec8de8683d 100644 (file)
@@ -1464,6 +1464,7 @@ qemuBlockStorageSourceAttachDataFree(qemuBlockStorageSourceAttachDataPtr data)
 /**
  * qemuBlockStorageSourceAttachPrepareBlockdev:
  * @src: storage source to prepare data from
+ * @backingStore: storage source to use as backing of @src
  * @autoreadonly: use 'auto-read-only' feature of qemu
  *
  * Creates a qemuBlockStorageSourceAttachData structure containing data to attach
@@ -1478,6 +1479,7 @@ qemuBlockStorageSourceAttachDataFree(qemuBlockStorageSourceAttachDataPtr data)
  */
 qemuBlockStorageSourceAttachDataPtr
 qemuBlockStorageSourceAttachPrepareBlockdev(virStorageSourcePtr src,
+                                            virStorageSourcePtr backingStore,
                                             bool autoreadonly)
 {
     VIR_AUTOPTR(qemuBlockStorageSourceAttachData) data = NULL;
@@ -1486,7 +1488,7 @@ qemuBlockStorageSourceAttachPrepareBlockdev(virStorageSourcePtr src,
         return NULL;
 
     if (!(data->formatProps = qemuBlockStorageSourceGetBlockdevProps(src,
-                                                                     src->backingStore)) ||
+                                                                     backingStore)) ||
         !(data->storageProps = qemuBlockStorageSourceGetBackendProps(src, false,
                                                                      false,
                                                                      autoreadonly)))
index 8c96a9b940dc2c829aa27e9a747eb15d02be67dc..2de614b1594e44afab19ca1a8800a23f234d6790 100644 (file)
@@ -109,6 +109,7 @@ VIR_DEFINE_AUTOPTR_FUNC(qemuBlockStorageSourceAttachData,
 
 qemuBlockStorageSourceAttachDataPtr
 qemuBlockStorageSourceAttachPrepareBlockdev(virStorageSourcePtr src,
+                                            virStorageSourcePtr backingStore,
                                             bool autoreadonly);
 
 qemuBlockStorageSourceAttachDataPtr
index 05c35919bf12f01a468053004622ba69d234d2ef..fa8bf39359b81d9876e318b4d5178e2d93e73965 100644 (file)
@@ -10727,7 +10727,7 @@ qemuBuildStorageSourceChainAttachPrepareBlockdevOne(qemuBlockStorageSourceChainD
 {
     VIR_AUTOPTR(qemuBlockStorageSourceAttachData) elem = NULL;
 
-    if (!(elem = qemuBlockStorageSourceAttachPrepareBlockdev(src, true)))
+    if (!(elem = qemuBlockStorageSourceAttachPrepareBlockdev(src, src->backingStore, true)))
         return -1;
 
     if (qemuBuildStorageSourceAttachPrepareCommon(src, elem, qemuCaps) < 0)
index bd40a8e70d11fea65c11e5df3891ead8fc968a91..e387deb49744fe2ca8fecd303bf3de010f6256ba 100644 (file)
@@ -832,7 +832,9 @@ qemuMigrationSrcNBDStorageCopyBlockdev(virQEMUDriverPtr driver,
 
     /* Migration via blockdev-mirror was supported sooner than the auto-read-only
      * feature was added to qemu */
-    if (!(data = qemuBlockStorageSourceAttachPrepareBlockdev(copysrc, false)))
+    if (!(data = qemuBlockStorageSourceAttachPrepareBlockdev(copysrc,
+                                                             copysrc->backingStore,
+                                                             false)))
         goto cleanup;
 
     if (qemuDomainObjEnterMonitorAsync(driver, vm,