int
-virCgroupSetValueStr(virCgroupPtr group,
- int controller,
- const char *key,
+virCgroupSetValueRaw(const char *path,
const char *value)
{
- VIR_AUTOFREE(char *) keypath = NULL;
- char *tmp = NULL;
+ char *tmp;
- if (virCgroupPathOfController(group, controller, key, &keypath) < 0)
- return -1;
-
- VIR_DEBUG("Set value '%s' to '%s'", keypath, value);
- if (virFileWriteStr(keypath, value, 0) < 0) {
+ VIR_DEBUG("Set value '%s' to '%s'", path, value);
+ if (virFileWriteStr(path, value, 0) < 0) {
if (errno == EINVAL &&
- (tmp = strrchr(keypath, '/'))) {
+ (tmp = strrchr(path, '/'))) {
virReportSystemError(errno,
_("Invalid value '%s' for '%s'"),
value, tmp + 1);
return -1;
}
virReportSystemError(errno,
- _("Unable to write to '%s'"), keypath);
+ _("Unable to write to '%s'"), path);
return -1;
}
int
-virCgroupGetValueStr(virCgroupPtr group,
- int controller,
- const char *key,
+virCgroupGetValueRaw(const char *path,
char **value)
{
- VIR_AUTOFREE(char *) keypath = NULL;
int rc;
*value = NULL;
- if (virCgroupPathOfController(group, controller, key, &keypath) < 0)
- return -1;
-
- VIR_DEBUG("Get value %s", keypath);
+ VIR_DEBUG("Get value %s", path);
- if ((rc = virFileReadAll(keypath, 1024*1024, value)) < 0) {
+ if ((rc = virFileReadAll(path, 1024*1024, value)) < 0) {
virReportSystemError(errno,
- _("Unable to read from '%s'"), keypath);
+ _("Unable to read from '%s'"), path);
return -1;
}
}
+int
+virCgroupSetValueStr(virCgroupPtr group,
+ int controller,
+ const char *key,
+ const char *value)
+{
+ VIR_AUTOFREE(char *) keypath = NULL;
+
+ if (virCgroupPathOfController(group, controller, key, &keypath) < 0)
+ return -1;
+
+ return virCgroupSetValueRaw(keypath, value);
+}
+
+
+int
+virCgroupGetValueStr(virCgroupPtr group,
+ int controller,
+ const char *key,
+ char **value)
+{
+ VIR_AUTOFREE(char *) keypath = NULL;
+
+ if (virCgroupPathOfController(group, controller, key, &keypath) < 0)
+ return -1;
+
+ return virCgroupGetValueRaw(keypath, value);
+}
+
+
int
virCgroupGetValueForBlkDev(virCgroupPtr group,
int controller,