]> git.ipfire.org Git - thirdparty/libcgroup.git/commitdiff
abstraction: Add name conversion function
authorTom Hromatka <tom.hromatka@oracle.com>
Wed, 15 Dec 2021 21:11:28 +0000 (21:11 +0000)
committerTom Hromatka <tom.hromatka@oracle.com>
Thu, 3 Feb 2022 21:42:30 +0000 (14:42 -0700)
Add a function to the abstraction layer that can convert from
one cgroup setting name to another setting name.  The values are
not adjusted by this function.  For example, this can be used for
conversions like cpuset.effective_cpus to cpuset.cpus.effective.

Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Reviewed-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
src/abstraction-common.c
src/abstraction-common.h

index 319f01612aee387f181bedc4ca4f5da31974108e..734f303e02a8c10be8f8b2e0c3b7f3c6ab00b784 100644 (file)
@@ -116,6 +116,14 @@ 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)
+{
+       return cgroup_add_value_string(dst_cgc, out_setting, in_value);
+}
+
 static int convert_setting(struct cgroup_controller * const out_cgc,
                           const struct control_value * const in_ctrl_val)
 {
index bbd25d735c62eb6c42eb7c1ad47923a41019fc35..f7118e9defaae5a377336331c3b5bdc5ab8a0dbe 100644 (file)
@@ -57,6 +57,21 @@ int cgroup_convert_int(struct cgroup_controller * const dst_cgc,
                       const char * const out_setting,
                       void *in_dflt, void *out_dflt);
 
+/**
+ * Convert only the name from one setting to another.  The contents remain
+ * the same
+ *
+ * @param dst_cgc Destination cgroup controller
+ * @param in_value Contents of the input setting
+ * @param out_setting Destination cgroup setting
+ * @param in_dflt Default value of the input setting (unused)
+ * @param out_dflt Default value of the output setting (unused)
+ */
+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);
+
 #ifdef __cplusplus
 } /* extern "C" */
 #endif