]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
cgroups: move functions after methods
authorChristian Brauner <christian.brauner@ubuntu.com>
Tue, 2 Feb 2021 17:08:14 +0000 (18:08 +0100)
committerChristian Brauner <christian.brauner@ubuntu.com>
Tue, 2 Feb 2021 17:08:14 +0000 (18:08 +0100)
This makes it more obvious that they are separate.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
src/lxc/cgroups/cgfsng.c

index 5e9343f635a9cebb4d98ad66b01a945a6d5c96fd..327b10f72584cdfbfc8fa6dc42d05499f607e970 100644 (file)
@@ -2500,31 +2500,6 @@ __cgfsng_ops static bool cgfsng_attach(struct cgroup_ops *ops,
        return true;
 }
 
-int cgroup_get(struct lxc_conf *conf,
-              const char *name, const char *lxcpath,
-              const char *filename, char *buf, size_t len)
-{
-       __do_close int unified_fd = -EBADF;
-       ssize_t ret;
-
-       if (!conf || is_empty_string(filename) || is_empty_string(name) ||
-           is_empty_string(lxcpath))
-               return ret_errno(EINVAL);
-
-       if ((buf && !len) || (len && !buf))
-               return ret_errno(EINVAL);
-
-       unified_fd = lxc_cmd_get_cgroup2_fd(name, lxcpath);
-       if (unified_fd < 0)
-               return ret_errno(ENOCGROUP2);
-
-       ret = lxc_read_try_buf_at(unified_fd, filename, buf, len);
-       if (ret < 0)
-               SYSERROR("Failed to read cgroup value");
-
-       return ret;
-}
-
 /* Called externally (i.e. from 'lxc-cgroup') to query cgroup limits.  Here we
  * don't have a cgroup_data set up, so we ask the running container through the
  * commands API for the cgroup path.
@@ -2675,35 +2650,6 @@ static int device_cgroup_rule_parse(struct device_item *device, const char *key,
        return device_cgroup_parse_access(device, ++val);
 }
 
-int cgroup_set(struct lxc_conf *conf, const char *name, const char *lxcpath,
-              const char *filename, const char *value)
-{
-       __do_close int unified_fd = -EBADF;
-       ssize_t ret;
-
-       if (!conf || is_empty_string(filename) || is_empty_string(value) ||
-           is_empty_string(name) || is_empty_string(lxcpath))
-               return ret_errno(EINVAL);
-
-       unified_fd = lxc_cmd_get_cgroup2_fd(name, lxcpath);
-       if (unified_fd < 0)
-               return ret_errno(ENOCGROUP2);
-
-       if (strncmp(filename, "devices.", STRLITERALLEN("devices.")) == 0) {
-               struct device_item device = {};
-
-               ret = device_cgroup_rule_parse(&device, filename, value);
-               if (ret < 0)
-                       return log_error_errno(-1, EINVAL, "Failed to parse device string %s=%s", filename, value);
-
-               ret = lxc_cmd_add_bpf_device_cgroup(name, lxcpath, &device);
-       } else {
-               ret = lxc_writeat(unified_fd, filename, value, strlen(value));
-       }
-
-       return ret;
-}
-
 /* Called externally (i.e. from 'lxc-cgroup') to set new cgroup limits.  Here we
  * don't have a cgroup_data set up, so we ask the running container through the
  * commands API for the cgroup path.
@@ -3554,3 +3500,57 @@ struct cgroup_ops *cgfsng_ops_init(struct lxc_conf *conf)
 
        return move_ptr(cgfsng_ops);
 }
+
+int cgroup_get(struct lxc_conf *conf,
+              const char *name, const char *lxcpath,
+              const char *filename, char *buf, size_t len)
+{
+       __do_close int unified_fd = -EBADF;
+       ssize_t ret;
+
+       if (!conf || is_empty_string(filename) || is_empty_string(name) ||
+           is_empty_string(lxcpath))
+               return ret_errno(EINVAL);
+
+       if ((buf && !len) || (len && !buf))
+               return ret_errno(EINVAL);
+
+       unified_fd = lxc_cmd_get_cgroup2_fd(name, lxcpath);
+       if (unified_fd < 0)
+               return ret_errno(ENOCGROUP2);
+
+       ret = lxc_read_try_buf_at(unified_fd, filename, buf, len);
+       if (ret < 0)
+               SYSERROR("Failed to read cgroup value");
+
+       return ret;
+}
+
+int cgroup_set(struct lxc_conf *conf, const char *name, const char *lxcpath,
+              const char *filename, const char *value)
+{
+       __do_close int unified_fd = -EBADF;
+       ssize_t ret;
+
+       if (!conf || is_empty_string(filename) || is_empty_string(value) ||
+           is_empty_string(name) || is_empty_string(lxcpath))
+               return ret_errno(EINVAL);
+
+       unified_fd = lxc_cmd_get_cgroup2_fd(name, lxcpath);
+       if (unified_fd < 0)
+               return ret_errno(ENOCGROUP2);
+
+       if (strncmp(filename, "devices.", STRLITERALLEN("devices.")) == 0) {
+               struct device_item device = {};
+
+               ret = device_cgroup_rule_parse(&device, filename, value);
+               if (ret < 0)
+                       return log_error_errno(-1, EINVAL, "Failed to parse device string %s=%s", filename, value);
+
+               ret = lxc_cmd_add_bpf_device_cgroup(name, lxcpath, &device);
+       } else {
+               ret = lxc_writeat(unified_fd, filename, value, strlen(value));
+       }
+
+       return ret;
+}