]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: block: Move and rename qemuHotplugRemoveStorageSourcePrepareData
authorPeter Krempa <pkrempa@redhat.com>
Wed, 10 Oct 2018 13:30:24 +0000 (15:30 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Wed, 26 Jun 2019 06:59:36 +0000 (08:59 +0200)
Move it to qemu_block.c and call it qemuBlockStorageSourceDetachPrepare.
It will be reused in other parts as well.

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_hotplug.c

index 7d9f7ec3ab094f8f4d40d42cc8fb2d4537f45fa2..560488c8522ed02c3342ba3b17b534fb72f84ee9 100644 (file)
@@ -1565,6 +1565,63 @@ qemuBlockStorageSourceAttachRollback(qemuMonitorPtr mon,
 }
 
 
+/**
+ * qemuBlockStorageSourceDetachPrepare:
+ * @src: disk source structure
+ * @driveAlias: Alias of the -drive backend, the pointer is always consumed
+ *
+ * Prepare qemuBlockStorageSourceAttachDataPtr for detaching a single source
+ * from a VM. If @driveAlias is NULL -blockdev is assumed.
+ */
+qemuBlockStorageSourceAttachDataPtr
+qemuBlockStorageSourceDetachPrepare(virStorageSourcePtr src,
+                                    char *driveAlias)
+{
+    qemuDomainStorageSourcePrivatePtr srcpriv = QEMU_DOMAIN_STORAGE_SOURCE_PRIVATE(src);
+    VIR_AUTOPTR(qemuBlockStorageSourceAttachData) data = NULL;
+    qemuBlockStorageSourceAttachDataPtr ret = NULL;
+
+    if (VIR_ALLOC(data) < 0)
+        goto cleanup;
+
+    if (driveAlias) {
+        VIR_STEAL_PTR(data->driveAlias, driveAlias);
+        data->driveAdded = true;
+    } else {
+        data->formatNodeName = src->nodeformat;
+        data->formatAttached = true;
+        data->storageNodeName = src->nodestorage;
+        data->storageAttached = true;
+    }
+
+    if (src->pr &&
+        !virStoragePRDefIsManaged(src->pr) &&
+        VIR_STRDUP(data->prmgrAlias, src->pr->mgralias) < 0)
+        goto cleanup;
+
+    if (VIR_STRDUP(data->tlsAlias, src->tlsAlias) < 0)
+        goto cleanup;
+
+    if (srcpriv) {
+        if (srcpriv->secinfo &&
+            srcpriv->secinfo->type == VIR_DOMAIN_SECRET_INFO_TYPE_AES &&
+            VIR_STRDUP(data->authsecretAlias, srcpriv->secinfo->s.aes.alias) < 0)
+            goto cleanup;
+
+        if (srcpriv->encinfo &&
+            srcpriv->encinfo->type == VIR_DOMAIN_SECRET_INFO_TYPE_AES &&
+            VIR_STRDUP(data->encryptsecretAlias, srcpriv->encinfo->s.aes.alias) < 0)
+            goto cleanup;
+    }
+
+    VIR_STEAL_PTR(ret, data);
+
+ cleanup:
+    VIR_FREE(driveAlias);
+    return ret;
+}
+
+
 /**
  * qemuBlockStorageSourceDetachOneBlockdev:
  * @driver: qemu driver object
index e41b9a1df205a2cba3f9b8b646c572c84aec8325..a49c73670b36657a6925accbff5801e789478685 100644 (file)
@@ -107,6 +107,10 @@ VIR_DEFINE_AUTOPTR_FUNC(qemuBlockStorageSourceAttachData,
 qemuBlockStorageSourceAttachDataPtr
 qemuBlockStorageSourceAttachPrepareBlockdev(virStorageSourcePtr src);
 
+qemuBlockStorageSourceAttachDataPtr
+qemuBlockStorageSourceDetachPrepare(virStorageSourcePtr src,
+                                    char *driveAlias);
+
 int
 qemuBlockStorageSourceAttachApply(qemuMonitorPtr mon,
                                   qemuBlockStorageSourceAttachDataPtr data);
index efda5392087d232f5c93e465abb6d109ef7b867d..fe2f577d5802651132fb9617b22bcb62a7b8a83a 100644 (file)
@@ -448,64 +448,6 @@ qemuHotplugDiskSourceDataFree(qemuHotplugDiskSourceDataPtr data)
 }
 
 
-/**
- * qemuDomainRemoveDiskStorageSourcePrepareData:
- * @src: disk source structure
- * @driveAlias: Alias of the -drive backend, the pointer is always consumed
- *
- * Prepare qemuBlockStorageSourceAttachDataPtr for detaching a single source
- * from a VM. If @driveAlias is NULL -blockdev is assumed.
- */
-static qemuBlockStorageSourceAttachDataPtr
-qemuHotplugRemoveStorageSourcePrepareData(virStorageSourcePtr src,
-                                          char *driveAlias)
-
-{
-    qemuDomainStorageSourcePrivatePtr srcpriv = QEMU_DOMAIN_STORAGE_SOURCE_PRIVATE(src);
-    VIR_AUTOPTR(qemuBlockStorageSourceAttachData) data = NULL;
-    qemuBlockStorageSourceAttachDataPtr ret = NULL;
-
-    if (VIR_ALLOC(data) < 0)
-        goto cleanup;
-
-    if (driveAlias) {
-        VIR_STEAL_PTR(data->driveAlias, driveAlias);
-        data->driveAdded = true;
-    } else {
-        data->formatNodeName = src->nodeformat;
-        data->formatAttached = true;
-        data->storageNodeName = src->nodestorage;
-        data->storageAttached = true;
-    }
-
-    if (src->pr &&
-        !virStoragePRDefIsManaged(src->pr) &&
-        VIR_STRDUP(data->prmgrAlias, src->pr->mgralias) < 0)
-        goto cleanup;
-
-    if (VIR_STRDUP(data->tlsAlias, src->tlsAlias) < 0)
-        goto cleanup;
-
-    if (srcpriv) {
-        if (srcpriv->secinfo &&
-            srcpriv->secinfo->type == VIR_DOMAIN_SECRET_INFO_TYPE_AES &&
-            VIR_STRDUP(data->authsecretAlias, srcpriv->secinfo->s.aes.alias) < 0)
-            goto cleanup;
-
-        if (srcpriv->encinfo &&
-            srcpriv->encinfo->type == VIR_DOMAIN_SECRET_INFO_TYPE_AES &&
-            VIR_STRDUP(data->encryptsecretAlias, srcpriv->encinfo->s.aes.alias) < 0)
-            goto cleanup;
-    }
-
-    VIR_STEAL_PTR(ret, data);
-
- cleanup:
-    VIR_FREE(driveAlias);
-    return ret;
-}
-
-
 static qemuHotplugDiskSourceDataPtr
 qemuHotplugDiskSourceRemovePrepare(virDomainDiskDefPtr disk,
                                    virStorageSourcePtr src,
@@ -526,7 +468,7 @@ qemuHotplugDiskSourceRemovePrepare(virDomainDiskDefPtr disk,
             goto cleanup;
 
         for (n = src; virStorageSourceIsBacking(n); n = n->backingStore) {
-            if (!(backend = qemuHotplugRemoveStorageSourcePrepareData(n, NULL)))
+            if (!(backend = qemuBlockStorageSourceDetachPrepare(n, NULL)))
                 goto cleanup;
 
             if (VIR_APPEND_ELEMENT(data->backends, data->nbackends, backend) < 0)
@@ -536,8 +478,7 @@ qemuHotplugDiskSourceRemovePrepare(virDomainDiskDefPtr disk,
         if (!(drivealias = qemuAliasDiskDriveFromDisk(disk)))
             goto cleanup;
 
-        if (!(backend = qemuHotplugRemoveStorageSourcePrepareData(src,
-                                                                  drivealias)))
+        if (!(backend = qemuBlockStorageSourceDetachPrepare(src, drivealias)))
             goto cleanup;
 
         if (VIR_APPEND_ELEMENT(data->backends, data->nbackends, backend) < 0)