From 2354266acf69393d533a7f461530da9afbf56f57 Mon Sep 17 00:00:00 2001 From: Pavel Glushchak Date: Thu, 25 Aug 2016 17:00:25 +0300 Subject: [PATCH] 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 --- src/vz/vz_driver.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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; -- 2.39.5