提交 501476fc 编写于 作者: C Chen Hanxiao 提交者: Daniel P. Berrange

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: NChen Hanxiao <chenhanxiao@cn.fujitsu.com>
上级 b8b22d19
......@@ -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.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册