Re: [libvirt] [PATCH 08/11] qemu: Introduce qemuMigrationSetParams

2016-06-22 Thread Ján Tomko

On Tue, Jun 21, 2016 at 01:47:14PM +0200, Jiri Denemark wrote:

Several places in the code update qemuMonitorMigrationParams structure
and qemuMigrationSetParams is then used to set them all at once.

Signed-off-by: Jiri Denemark 
---
src/qemu/qemu_migration.c | 59 ---
1 file changed, 46 insertions(+), 13 deletions(-)




@@ -3455,17 +3455,14 @@ qemuMigrationSetCompression(virQEMUDriverPtr driver,
if (qemuDomainObjEnterMonitorAsync(driver, vm, job) < 0)
return -1;

-migParams.compressLevel_set = compression->level_set;
-migParams.compressLevel = compression->level;
+migParams->compressLevel_set = compression->level_set;
+migParams->compressLevel = compression->level;

-migParams.compressThreads_set = compression->threads_set;
-migParams.compressThreads = compression->threads;
+migParams->compressThreads_set = compression->threads_set;
+migParams->compressThreads = compression->threads;

-migParams.decompressThreads_set = compression->dthreads_set;
-migParams.decompressThreads = compression->dthreads;
-
-if (qemuMonitorSetMigrationParams(priv->mon, ) < 0)
-goto cleanup;
+migParams->decompressThreads_set = compression->dthreads_set;
+migParams->decompressThreads = compression->dthreads;



This would look nicer in a separate function.

ACK regardless.

Jan

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


[libvirt] [PATCH 08/11] qemu: Introduce qemuMigrationSetParams

2016-06-21 Thread Jiri Denemark
Several places in the code update qemuMonitorMigrationParams structure
and qemuMigrationSetParams is then used to set them all at once.

Signed-off-by: Jiri Denemark 
---
 src/qemu/qemu_migration.c | 59 ---
 1 file changed, 46 insertions(+), 13 deletions(-)

diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index 433c00c..8cfbb9f 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -3432,11 +3432,11 @@ static int
 qemuMigrationSetCompression(virQEMUDriverPtr driver,
 virDomainObjPtr vm,
 qemuDomainAsyncJob job,
-qemuMigrationCompressionPtr compression)
+qemuMigrationCompressionPtr compression,
+qemuMonitorMigrationParamsPtr migParams)
 {
 int ret = -1;
 qemuDomainObjPrivatePtr priv = vm->privateData;
-qemuMonitorMigrationParams migParams = { 0 };
 
 if (qemuMigrationSetOption(driver, vm,
QEMU_MONITOR_MIGRATION_CAPS_XBZRLE,
@@ -3455,17 +3455,14 @@ qemuMigrationSetCompression(virQEMUDriverPtr driver,
 if (qemuDomainObjEnterMonitorAsync(driver, vm, job) < 0)
 return -1;
 
-migParams.compressLevel_set = compression->level_set;
-migParams.compressLevel = compression->level;
+migParams->compressLevel_set = compression->level_set;
+migParams->compressLevel = compression->level;
 
-migParams.compressThreads_set = compression->threads_set;
-migParams.compressThreads = compression->threads;
+migParams->compressThreads_set = compression->threads_set;
+migParams->compressThreads = compression->threads;
 
-migParams.decompressThreads_set = compression->dthreads_set;
-migParams.decompressThreads = compression->dthreads;
-
-if (qemuMonitorSetMigrationParams(priv->mon, ) < 0)
-goto cleanup;
+migParams->decompressThreads_set = compression->dthreads_set;
+migParams->decompressThreads = compression->dthreads;
 
 if (compression->xbzrle_cache_set &&
 qemuMonitorSetMigrationCacheSize(priv->mon,
@@ -3481,6 +3478,32 @@ qemuMigrationSetCompression(virQEMUDriverPtr driver,
 return ret;
 }
 
+
+static int
+qemuMigrationSetParams(virQEMUDriverPtr driver,
+   virDomainObjPtr vm,
+   qemuDomainAsyncJob job,
+   qemuMonitorMigrationParamsPtr migParams)
+{
+qemuDomainObjPrivatePtr priv = vm->privateData;
+int ret = -1;
+
+if (qemuDomainObjEnterMonitorAsync(driver, vm, job) < 0)
+return -1;
+
+if (qemuMonitorSetMigrationParams(priv->mon, migParams) < 0)
+goto cleanup;
+
+ret = 0;
+
+ cleanup:
+if (qemuDomainObjExitMonitor(driver, vm) < 0)
+ret = -1;
+
+return ret;
+}
+
+
 static int
 qemuMigrationPrepareAny(virQEMUDriverPtr driver,
 virConnectPtr dconn,
@@ -3516,6 +3539,7 @@ qemuMigrationPrepareAny(virQEMUDriverPtr driver,
 bool stopProcess = false;
 bool relabel = false;
 int rv;
+qemuMonitorMigrationParams migParams = { 0 };
 
 virNWFilterReadLockFilterUpdates();
 
@@ -3698,7 +3722,7 @@ qemuMigrationPrepareAny(virQEMUDriverPtr driver,
 }
 
 if (qemuMigrationSetCompression(driver, vm, QEMU_ASYNC_JOB_MIGRATION_IN,
-compression) < 0)
+compression, ) < 0)
 goto stopjob;
 
 if (STREQ_NULLABLE(protocol, "rdma") &&
@@ -3717,6 +3741,10 @@ qemuMigrationPrepareAny(virQEMUDriverPtr driver,
  QEMU_ASYNC_JOB_MIGRATION_IN) < 0)
 goto stopjob;
 
+if (qemuMigrationSetParams(driver, vm, QEMU_ASYNC_JOB_MIGRATION_IN,
+   ) < 0)
+goto stopjob;
+
 if (mig->nbd &&
 flags & (VIR_MIGRATE_NON_SHARED_DISK | VIR_MIGRATE_NON_SHARED_INC) &&
 virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_NBD_SERVER)) {
@@ -4554,6 +4582,7 @@ qemuMigrationRun(virQEMUDriverPtr driver,
 virDomainDefPtr persistDef = NULL;
 char *timestamp;
 int rc;
+qemuMonitorMigrationParams migParams = { 0 };
 
 VIR_DEBUG("driver=%p, vm=%p, cookiein=%s, cookieinlen=%d, "
   "cookieout=%p, cookieoutlen=%p, flags=%lx, resource=%lu, "
@@ -4634,7 +4663,7 @@ qemuMigrationRun(virQEMUDriverPtr driver,
 }
 
 if (qemuMigrationSetCompression(driver, vm, QEMU_ASYNC_JOB_MIGRATION_OUT,
-compression) < 0)
+compression, ) < 0)
 goto cleanup;
 
 if (qemuMigrationSetOption(driver, vm,
@@ -4654,6 +4683,10 @@ qemuMigrationRun(virQEMUDriverPtr driver,
  QEMU_ASYNC_JOB_MIGRATION_OUT) < 0)
 goto cleanup;
 
+if (qemuMigrationSetParams(driver, vm, QEMU_ASYNC_JOB_MIGRATION_OUT,
+   ) < 0)
+goto cleanup;
+
 if