[PATCH 2/3] qemuMigrationCookieNBD: Turn some items into their own struct

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



It will be more future proof if we just pass a pointer to a single NBD
disk representation to the qemuMigrationPrecreateDisk() instead of
copying every single item onto the stack.

Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
---
 src/qemu/qemu_migration.c | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index b20ede8..3adb949 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -139,16 +139,20 @@ struct _qemuMigrationCookieNetwork {
     qemuMigrationCookieNetDataPtr net;
 };
 
+typedef struct _qemuMigrationCookieNBDDisk qemuMigrationCookieNBDDisk;
+typedef qemuMigrationCookieNBDDisk *qemuMigrationCookieNBDDiskPtr;
+struct _qemuMigrationCookieNBDDisk {
+    char *target;                   /* Disk target */
+    unsigned long long capacity;    /* And its capacity */
+};
+
 typedef struct _qemuMigrationCookieNBD qemuMigrationCookieNBD;
 typedef qemuMigrationCookieNBD *qemuMigrationCookieNBDPtr;
 struct _qemuMigrationCookieNBD {
     int port; /* on which port does NBD server listen for incoming data */
 
     size_t ndisks;  /* Number of items in @disk array */
-    struct {
-        char *target;                   /* Disk target */
-        unsigned long long capacity;    /* And its capacity */
-    } *disks;
+    qemuMigrationCookieNBDDiskPtr disks;
 };
 
 typedef struct _qemuMigrationCookie qemuMigrationCookie;
@@ -1458,7 +1462,7 @@ qemuMigrationRestoreDomainState(virConnectPtr conn, virDomainObjPtr vm)
 static int
 qemuMigrationPrecreateDisk(virConnectPtr conn,
                            virDomainDiskDefPtr disk,
-                           unsigned long long capacity)
+                           qemuMigrationCookieNBDDiskPtr nbd)
 {
     int ret = -1;
     virStoragePoolPtr pool = NULL;
@@ -1534,7 +1538,7 @@ qemuMigrationPrecreateDisk(virConnectPtr conn,
     virBufferAddLit(&buf, "<volume>\n");
     virBufferAdjustIndent(&buf, 2);
     virBufferEscapeString(&buf, "<name>%s</name>\n", volName);
-    virBufferAsprintf(&buf, "<capacity>%llu</capacity>\n", capacity);
+    virBufferAsprintf(&buf, "<capacity>%llu</capacity>\n", nbd->capacity);
     virBufferAddLit(&buf, "<target>\n");
     virBufferAdjustIndent(&buf, 2);
     virBufferAsprintf(&buf, "<format type='%s'/>\n", format);
@@ -1601,7 +1605,7 @@ qemuMigrationPrecreateStorage(virConnectPtr conn,
 
         VIR_DEBUG("Proceeding with disk source %s", NULLSTR(diskSrcPath));
 
-        if (qemuMigrationPrecreateDisk(conn, disk, nbd->disks[i].capacity) < 0)
+        if (qemuMigrationPrecreateDisk(conn, disk, nbd->disks + i) < 0)
             goto cleanup;
     }
 
-- 
2.0.5

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]