int ret = -1;
const char *dconnuri = NULL;
qemuMigrationCompressionPtr compression = NULL;
- qemuMonitorMigrationParamsPtr migParams = NULL;
+ qemuMigrationParamsPtr migParams = NULL;
virCheckFlags(QEMU_MIGRATION_FLAGS, -1);
virQEMUDriverPtr driver = dom->conn->privateData;
virDomainObjPtr vm;
qemuMigrationCompressionPtr compression = NULL;
- qemuMonitorMigrationParamsPtr migParams = NULL;
+ qemuMigrationParamsPtr migParams = NULL;
int ret = -1;
virCheckFlags(QEMU_MIGRATION_FLAGS, -1);
unsigned long long bandwidth = 0;
int nbdPort = 0;
qemuMigrationCompressionPtr compression = NULL;
- qemuMonitorMigrationParamsPtr migParams = NULL;
+ qemuMigrationParamsPtr migParams = NULL;
int ret = -1;
virCheckFlags(QEMU_MIGRATION_FLAGS, -1);
int rv;
char *tlsAlias = NULL;
char *secAlias = NULL;
- qemuMonitorMigrationParamsPtr migParams = NULL;
+ qemuMigrationParamsPtr migParams = NULL;
virNWFilterReadLockFilterUpdates();
goto stopjob;
/* Force reset of 'tls-hostname', it's a source only parameter */
- if (VIR_STRDUP(migParams->tlsHostname, "") < 0)
+ if (VIR_STRDUP(migParams->params.tlsHostname, "") < 0)
goto stopjob;
} else {
size_t nmigrate_disks,
const char **migrate_disks,
qemuMigrationCompressionPtr compression,
- qemuMonitorMigrationParamsPtr migParams)
+ qemuMigrationParamsPtr migParams)
{
int ret = -1;
unsigned int migrate_flags = QEMU_MONITOR_MIGRATE_BACKGROUND;
* connect directly to the destination. */
if (spec->destType == MIGRATION_DEST_CONNECT_HOST ||
spec->destType == MIGRATION_DEST_FD) {
- if (VIR_STRDUP(migParams->tlsHostname, spec->dest.host.name) < 0)
+ if (VIR_STRDUP(migParams->params.tlsHostname, spec->dest.host.name) < 0)
goto error;
} else {
/* Be sure there's nothing from a previous migration */
- if (VIR_STRDUP(migParams->tlsHostname, "") < 0)
+ if (VIR_STRDUP(migParams->params.tlsHostname, "") < 0)
goto error;
}
} else {
size_t nmigrate_disks,
const char **migrate_disks,
qemuMigrationCompressionPtr compression,
- qemuMonitorMigrationParamsPtr migParams)
+ qemuMigrationParamsPtr migParams)
{
qemuDomainObjPrivatePtr priv = vm->privateData;
virURIPtr uribits = NULL;
size_t nmigrate_disks,
const char **migrate_disks,
qemuMigrationCompressionPtr compression,
- qemuMonitorMigrationParamsPtr migParams)
+ qemuMigrationParamsPtr migParams)
{
int ret = -1;
qemuMigrationSpec spec;
virStreamPtr st = NULL;
unsigned long destflags;
qemuMigrationCompressionPtr compression = NULL;
- qemuMonitorMigrationParamsPtr migParams = NULL;
+ qemuMigrationParamsPtr migParams = NULL;
VIR_DEBUG("driver=%p, sconn=%p, dconn=%p, vm=%p, dconnuri=%s, "
"flags=0x%lx, dname=%s, resource=%lu",
const char **migrate_disks,
int nbdPort,
qemuMigrationCompressionPtr compression,
- qemuMonitorMigrationParamsPtr migParams,
+ qemuMigrationParamsPtr migParams,
unsigned long long bandwidth,
bool useParams,
unsigned long flags)
const char **migrate_disks,
int nbdPort,
qemuMigrationCompressionPtr compression,
- qemuMonitorMigrationParamsPtr migParams,
+ qemuMigrationParamsPtr migParams,
unsigned long flags,
const char *dname,
unsigned long resource,
const char **migrate_disks,
int nbdPort,
qemuMigrationCompressionPtr compression,
- qemuMonitorMigrationParamsPtr migParams,
+ qemuMigrationParamsPtr migParams,
const char *cookiein,
int cookieinlen,
char **cookieout,
size_t nmigrate_disks,
const char **migrate_disks,
qemuMigrationCompressionPtr compression,
- qemuMonitorMigrationParamsPtr migParams,
+ qemuMigrationParamsPtr migParams,
const char *cookiein,
int cookieinlen,
char **cookieout,
const char **migrate_disks,
int nbdPort,
qemuMigrationCompressionPtr compression,
- qemuMonitorMigrationParamsPtr migParams,
+ qemuMigrationParamsPtr migParams,
const char *cookiein,
int cookieinlen,
char **cookieout,
const char **migrate_disks,
int nbdPort,
qemuMigrationCompressionPtr compression,
- qemuMonitorMigrationParamsPtr migParams,
+ qemuMigrationParamsPtr migParams,
const char *cookiein,
int cookieinlen,
char **cookieout,
#define QEMU_MIGRATION_TLS_ALIAS_BASE "libvirt_migrate"
-qemuMonitorMigrationParamsPtr
+qemuMigrationParamsPtr
qemuMigrationParamsNew(void)
{
- qemuMonitorMigrationParamsPtr params;
+ qemuMigrationParamsPtr params;
if (VIR_ALLOC(params) < 0)
return NULL;
void
-qemuMigrationParamsFree(qemuMonitorMigrationParamsPtr migParams)
+qemuMigrationParamsFree(qemuMigrationParamsPtr migParams)
{
if (!migParams)
return;
- VIR_FREE(migParams->tlsCreds);
- VIR_FREE(migParams->tlsHostname);
+ VIR_FREE(migParams->params.tlsCreds);
+ VIR_FREE(migParams->params.tlsHostname);
VIR_FREE(migParams);
}
-qemuMonitorMigrationParamsPtr
+qemuMigrationParamsPtr
qemuMigrationParamsFromFlags(virTypedParameterPtr params,
int nparams,
unsigned long flags)
{
- qemuMonitorMigrationParamsPtr migParams;
+ qemuMigrationParamsPtr migParams;
if (!(migParams = qemuMigrationParamsNew()))
return NULL;
int rc; \
if ((rc = virTypedParamsGetInt(params, nparams, \
VIR_MIGRATE_PARAM_ ## PARAM, \
- &migParams->VAR)) < 0) \
+ &migParams->params.VAR)) < 0) \
goto error; \
\
if (rc == 1) \
- migParams->VAR ## _set = true; \
+ migParams->params.VAR ## _set = true; \
} while (0)
GET(AUTO_CONVERGE_INITIAL, cpuThrottleInitial);
#undef GET
- if ((migParams->cpuThrottleInitial_set ||
- migParams->cpuThrottleIncrement_set) &&
+ if ((migParams->params.cpuThrottleInitial_set ||
+ migParams->params.cpuThrottleIncrement_set) &&
!(flags & VIR_MIGRATE_AUTO_CONVERGE)) {
virReportError(VIR_ERR_INVALID_ARG, "%s",
_("Turn auto convergence on to tune it"));
qemuMigrationParamsSet(virQEMUDriverPtr driver,
virDomainObjPtr vm,
int asyncJob,
- qemuMonitorMigrationParamsPtr migParams)
+ qemuMigrationParamsPtr migParams)
{
qemuDomainObjPrivatePtr priv = vm->privateData;
int ret = -1;
if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0)
return -1;
- if (qemuMonitorSetMigrationParams(priv->mon, migParams) < 0)
+ if (qemuMonitorSetMigrationParams(priv->mon, &migParams->params) < 0)
goto cleanup;
ret = 0;
{
int ret = -1;
qemuDomainObjPrivatePtr priv = vm->privateData;
- qemuMonitorMigrationParamsPtr migParams = NULL;
+ qemuMigrationParamsPtr migParams = NULL;
if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0)
return -1;
if (!(migParams = qemuMigrationParamsNew()))
goto cleanup;
- if (qemuMonitorGetMigrationParams(priv->mon, migParams) < 0)
+ if (qemuMonitorGetMigrationParams(priv->mon, &migParams->params) < 0)
goto cleanup;
/* NB: Could steal NULL pointer too! Let caller decide what to do. */
- VIR_STEAL_PTR(priv->migTLSAlias, migParams->tlsCreds);
+ VIR_STEAL_PTR(priv->migTLSAlias, migParams->params.tlsCreds);
ret = 0;
int asyncJob,
char **tlsAlias,
char **secAlias,
- qemuMonitorMigrationParamsPtr migParams)
+ qemuMigrationParamsPtr migParams)
{
qemuDomainObjPrivatePtr priv = vm->privateData;
virJSONValuePtr tlsProps = NULL;
*tlsAlias, &tlsProps) < 0)
goto error;
- if (VIR_STRDUP(migParams->tlsCreds, *tlsAlias) < 0)
+ if (VIR_STRDUP(migParams->params.tlsCreds, *tlsAlias) < 0)
goto error;
return 0;
qemuMigrationParamsSetEmptyTLS(virQEMUDriverPtr driver,
virDomainObjPtr vm,
int asyncJob,
- qemuMonitorMigrationParamsPtr migParams)
+ qemuMigrationParamsPtr migParams)
{
qemuDomainObjPrivatePtr priv = vm->privateData;
if (!priv->migTLSAlias)
return 0;
- if (VIR_STRDUP(migParams->tlsCreds, "") < 0 ||
- VIR_STRDUP(migParams->tlsHostname, "") < 0)
+ if (VIR_STRDUP(migParams->params.tlsCreds, "") < 0 ||
+ VIR_STRDUP(migParams->params.tlsHostname, "") < 0)
return -1;
return 0;
virDomainObjPtr vm,
int asyncJob,
qemuMigrationCompressionPtr compression,
- qemuMonitorMigrationParamsPtr migParams)
+ qemuMigrationParamsPtr migParams)
{
int ret = -1;
qemuDomainObjPrivatePtr priv = vm->privateData;
if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0)
return -1;
- migParams->compressLevel_set = compression->level_set;
- migParams->compressLevel = compression->level;
+ migParams->params.compressLevel_set = compression->level_set;
+ migParams->params.compressLevel = compression->level;
- migParams->compressThreads_set = compression->threads_set;
- migParams->compressThreads = compression->threads;
+ migParams->params.compressThreads_set = compression->threads_set;
+ migParams->params.compressThreads = compression->threads;
- migParams->decompressThreads_set = compression->dthreads_set;
- migParams->decompressThreads = compression->dthreads;
+ migParams->params.decompressThreads_set = compression->dthreads_set;
+ migParams->params.decompressThreads = compression->dthreads;
if (compression->xbzrle_cache_set &&
qemuMonitorSetMigrationCacheSize(priv->mon,
qemuDomainObjPrivatePtr priv = vm->privateData;
char *tlsAlias = NULL;
char *secAlias = NULL;
- qemuMonitorMigrationParamsPtr migParams = NULL;
+ qemuMigrationParamsPtr migParams = NULL;
int ret = -1;
if (qemuMigrationParamsCheckTLSCreds(driver, vm, asyncJob) < 0)
qemuDomainDelTLSObjects(driver, vm, asyncJob, secAlias, tlsAlias);
qemuDomainSecretInfoFree(&priv->migSecinfo);
- if (VIR_STRDUP(migParams->tlsCreds, "") < 0 ||
- VIR_STRDUP(migParams->tlsHostname, "") < 0 ||
+ if (VIR_STRDUP(migParams->params.tlsCreds, "") < 0 ||
+ VIR_STRDUP(migParams->params.tlsHostname, "") < 0 ||
qemuMigrationParamsSet(driver, vm, asyncJob, migParams) < 0)
goto cleanup;
};
-qemuMonitorMigrationParamsPtr
+typedef struct _qemuMigrationParams qemuMigrationParams;
+typedef qemuMigrationParams *qemuMigrationParamsPtr;
+struct _qemuMigrationParams {
+ qemuMonitorMigrationParams params;
+};
+
+
+qemuMigrationParamsPtr
qemuMigrationParamsNew(void);
-qemuMonitorMigrationParamsPtr
+qemuMigrationParamsPtr
qemuMigrationParamsFromFlags(virTypedParameterPtr params,
int nparams,
unsigned long flags);
void
-qemuMigrationParamsFree(qemuMonitorMigrationParamsPtr migParams);
+qemuMigrationParamsFree(qemuMigrationParamsPtr migParams);
int
qemuMigrationParamsSet(virQEMUDriverPtr driver,
virDomainObjPtr vm,
int asyncJob,
- qemuMonitorMigrationParamsPtr migParams);
+ qemuMigrationParamsPtr migParams);
int
qemuMigrationParamsCheckSetupTLS(virQEMUDriverPtr driver,
int asyncJob,
char **tlsAlias,
char **secAlias,
- qemuMonitorMigrationParamsPtr migParams);
+ qemuMigrationParamsPtr migParams);
int
qemuMigrationParamsSetEmptyTLS(virQEMUDriverPtr driver,
virDomainObjPtr vm,
int asyncJob,
- qemuMonitorMigrationParamsPtr migParams);
+ qemuMigrationParamsPtr migParams);
int
qemuMigrationParamsSetCompression(virQEMUDriverPtr driver,
virDomainObjPtr vm,
int asyncJob,
qemuMigrationCompressionPtr compression,
- qemuMonitorMigrationParamsPtr migParams);
+ qemuMigrationParamsPtr migParams);
void
qemuMigrationParamsReset(virQEMUDriverPtr driver,