From: Pavel Glushchak Date: Thu, 25 Aug 2016 14:00:25 +0000 (+0300) Subject: vz: added VIR_MIGRATE_PARAM_BANDWIDTH param handling X-Git-Tag: v2.2.0-rc1~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2354266acf69393d533a7f461530da9afbf56f57;p=thirdparty%2Flibvirt.git vz: added VIR_MIGRATE_PARAM_BANDWIDTH param handling libvirt-python passes parameter bandwidth = 0 by default. This means that bandwidth is unlimited. VZ driver doesn't support bandwidth rate limiting, but we still need to handle it and fail if bandwidth > 0. Signed-off-by: Pavel Glushchak --- diff --git a/src/vz/vz_driver.c b/src/vz/vz_driver.c index 7a12632966..4a0068c656 100644 --- a/src/vz/vz_driver.c +++ b/src/vz/vz_driver.c @@ -2897,6 +2897,7 @@ vzEatCookie(const char *cookiein, int cookieinlen, unsigned int flags) VIR_MIGRATE_PARAM_DEST_XML, VIR_TYPED_PARAM_STRING, \ VIR_MIGRATE_PARAM_URI, VIR_TYPED_PARAM_STRING, \ VIR_MIGRATE_PARAM_DEST_NAME, VIR_TYPED_PARAM_STRING, \ + VIR_MIGRATE_PARAM_BANDWIDTH, VIR_TYPED_PARAM_ULLONG, \ NULL static char * @@ -2938,12 +2939,23 @@ vzDomainMigrateBegin3Params(virDomainPtr domain, char *xml = NULL; virDomainObjPtr dom = NULL; vzConnPtr privconn = domain->conn->privateData; + unsigned long long bandwidth = 0; virCheckFlags(VZ_MIGRATION_FLAGS, NULL); if (virTypedParamsValidate(params, nparams, VZ_MIGRATION_PARAMETERS) < 0) goto cleanup; + if (virTypedParamsGetULLong(params, nparams, VIR_MIGRATE_PARAM_BANDWIDTH, + &bandwidth) < 0) + goto cleanup; + + if (bandwidth > 0) { + virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", + _("Bandwidth rate limiting is not supported")); + goto cleanup; + } + if (!(dom = vzDomObjFromDomain(domain))) goto cleanup;