#include <stdio.h>
-int cgroup_strtol(const char * const in_str, int base,
- long * const out_value)
+int cgroup_strtol(const char * const in_str, int base, long * const out_value)
{
char *endptr = NULL;
int ret = 0;
*out_value = strtol(in_str, &endptr, base);
/* taken directly from strtol's man page */
- if ((errno == ERANGE &&
- (*out_value == LONG_MAX || *out_value == LONG_MIN))
- || (errno != 0 && *out_value == 0)) {
+ if ((errno == ERANGE && (*out_value == LONG_MAX || *out_value == LONG_MIN)) ||
+ (errno != 0 && *out_value == 0)) {
cgroup_err("Failed to convert %s from strtol: %s\n", in_str);
ret = ECGFAIL;
goto out;
}
if (endptr == in_str) {
- cgroup_err("No long value found in %s\n",
- in_str);
+ cgroup_err("No long value found in %s\n", in_str);
ret = ECGFAIL;
goto out;
}
return ret;
}
-int cgroup_convert_int(struct cgroup_controller * const dst_cgc,
- const char * const in_value,
- const char * const out_setting,
- void *in_dflt, void *out_dflt)
+int cgroup_convert_int(struct cgroup_controller * const dst_cgc, const char * const in_value,
+ const char * const out_setting, void *in_dflt, void *out_dflt)
{
#define OUT_VALUE_STR_LEN 20
ret = snprintf(out_value_str, OUT_VALUE_STR_LEN, "%ld", out_value);
if (ret == OUT_VALUE_STR_LEN) {
/* we ran out of room in the string. throw an error */
- cgroup_err("output value too large for string: %d\n",
- out_value);
+ cgroup_err("output value too large for string: %d\n", out_value);
ret = ECGFAIL;
goto out;
}
return ret;
}
-int cgroup_convert_name_only(struct cgroup_controller * const dst_cgc,
- const char * const in_value,
- const char * const out_setting,
- void *in_dflt, void *out_dflt)
+int cgroup_convert_name_only(struct cgroup_controller * const dst_cgc, const char * const in_value,
+ const char * const out_setting, void *in_dflt, void *out_dflt)
{
return cgroup_add_value_string(dst_cgc, out_setting, in_value);
}
int cgroup_convert_passthrough(struct cgroup_controller * const dst_cgc,
- const char * const in_value,
- const char * const out_setting,
+ const char * const in_value, const char * const out_setting,
void *in_dflt, void *out_dflt)
{
return cgroup_add_value_string(dst_cgc, out_setting, in_value);
}
int cgroup_convert_unmappable(struct cgroup_controller * const dst_cgc,
- const char * const in_value,
- const char * const out_setting,
+ const char * const in_value, const char * const out_setting,
void *in_dflt, void *out_dflt)
{
return ECGNOVERSIONCONVERT;
for (i = 0; i < tbl_sz; i++) {
/*
- * For a few settings, e.g. cpu.max <-> cpu.cfs_quota_us/
- * cpu.cfs_period_us, the conversion from the N->1 field
- * (cpu.max) back to one of the other settings cannot be done
- * without prior knowledge of our desired setting (quota or
- * period in this example). If prev_name is set, it can guide
- * us back to the correct mapping.
+ * For a few settings, e.g.
+ * cpu.max <-> cpu.cfs_quota_us/cpu.cfs_period_us, the
+ * conversion from the N->1 field (cpu.max) back to one of the
+ * other settings cannot be done without prior knowledge of our
+ * desired setting (quota or period in this example).
+ * If prev_name is set, it can guide us back to the correct
+ * mapping.
*/
if (strcmp(convert_tbl[i].in_setting, in_ctrl_val->name) == 0 &&
(in_ctrl_val->prev_name == NULL ||
- strcmp(in_ctrl_val->prev_name,
- convert_tbl[i].out_setting) == 0)) {
-
- ret = convert_tbl[i].cgroup_convert(out_cgc,
- in_ctrl_val->value,
- convert_tbl[i].out_setting,
- convert_tbl[i].in_dflt,
- convert_tbl[i].out_dflt);
+ strcmp(in_ctrl_val->prev_name, convert_tbl[i].out_setting) == 0)) {
+
+ ret = convert_tbl[i].cgroup_convert(out_cgc, in_ctrl_val->value,
+ convert_tbl[i].out_setting,
+ convert_tbl[i].in_dflt,
+ convert_tbl[i].out_dflt);
if (ret)
goto out;
}
out:
if (ret == 0 && unmappable) {
- /*
- * The only error received was an unmappable error.
- * Return it.
- */
+ /* The only error received was an unmappable error. Return it. */
ret = ECGNOVERSIONCONVERT;
if ((*out_cgc)->index == 0) {
/*
- * No settings were successfully converted. Remove
- * this controller so that tools like cgxget aren't
- * confused
+ * No settings were successfully converted. Remove this
+ * controller so that tools like cgxget aren't confused
*/
cgroup_free_controller(*out_cgc);
*out_cgc = NULL;
return ret;
}
-int cgroup_convert_cgroup(struct cgroup * const out_cgroup,
- enum cg_version_t out_version,
- const struct cgroup * const in_cgroup,
- enum cg_version_t in_version)
+int cgroup_convert_cgroup(struct cgroup * const out_cgroup, enum cg_version_t out_version,
+ const struct cgroup * const in_cgroup, enum cg_version_t in_version)
{
struct cgroup_controller *cgc;
bool unmappable = false;
int i;
for (i = 0; i < in_cgroup->index; i++) {
- cgc = cgroup_add_controller(out_cgroup,
- in_cgroup->controller[i]->name);
+ cgc = cgroup_add_controller(out_cgroup, in_cgroup->controller[i]->name);
if (cgc == NULL) {
ret = ECGFAIL;
goto out;
if (strcmp(CGROUP_FILE_PREFIX, cgc->name) == 0)
/*
- * libcgroup only supports accessing cgroup.* files on
- * cgroup v2 filesystems.
+ * libcgroup only supports accessing cgroup.* files
+ * on cgroup v2 filesystems.
*/
cgc->version = CGROUP_V2;
else
cgc->version = out_version;
- if (cgc->version == CGROUP_UNK ||
- cgc->version == CGROUP_DISK) {
- ret = cgroup_get_controller_version(cgc->name,
- &cgc->version);
+ if (cgc->version == CGROUP_UNK || cgc->version == CGROUP_DISK) {
+ ret = cgroup_get_controller_version(cgc->name, &cgc->version);
if (ret)
goto out;
}
out:
if (ret == 0 && unmappable)
/*
- * The only error received was an unmappable error.
- * Return it.
+ * The only error received was an unmappable
+ * error. Return it.
*/
ret = ECGNOVERSIONCONVERT;