From 501476fccf2dad4cd773ed1414f0e464d9f2b4e8 Mon Sep 17 00:00:00 2001 From: Chen Hanxiao Date: Fri, 11 Oct 2013 21:41:23 +0800 Subject: [PATCH] cgroup: show error when EINVAL is returned When EINVAL is returned while changing a cgroups value, tell user that what values are invalid for the field. Signed-off-by: Chen Hanxiao --- src/util/vircgroup.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/util/vircgroup.c b/src/util/vircgroup.c index 91b87049ce..7a85000f63 100644 --- a/src/util/vircgroup.c +++ b/src/util/vircgroup.c @@ -664,12 +664,20 @@ virCgroupSetValueStr(virCgroupPtr group, { int ret = -1; char *keypath = NULL; + char *tmp = NULL; if (virCgroupPathOfController(group, controller, key, &keypath) < 0) return -1; VIR_DEBUG("Set value '%s' to '%s'", keypath, value); if (virFileWriteStr(keypath, value, 0) < 0) { + if (errno == EINVAL && + (tmp = strrchr(keypath, '/'))) { + virReportSystemError(errno, + _("Invalid value '%s' for '%s'"), + value, tmp + 1); + goto cleanup; + } virReportSystemError(errno, _("Unable to write to '%s'"), keypath); goto cleanup; @@ -1829,7 +1837,8 @@ virCgroupGetBlkioWeight(virCgroupPtr group, unsigned int *weight) * * @group: The cgroup to change io device weight device for * @path: The device with a weight to alter - * @weight: The new device weight (100-1000), or 0 to clear + * @weight: The new device weight (100-1000), + * (10-1000) after kernel 2.6.39, or 0 to clear * * device_weight is treated as a write-only parameter, so * there isn't a getter counterpart. -- GitLab