]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
cgroup-util: add new cg_remove_xattr() for removing xattr from cgroup
authorLennart Poettering <lennart@poettering.net>
Wed, 20 Nov 2019 16:41:48 +0000 (17:41 +0100)
committerLennart Poettering <lennart@poettering.net>
Wed, 20 Nov 2019 16:50:12 +0000 (17:50 +0100)
src/basic/cgroup-util.c
src/basic/cgroup-util.h

index 5b94b02a27e7e9ce581dc59f4b9fb628da2390a0..54fc6ecf8b2003bde35c991f825532275c90f755 100644 (file)
@@ -605,6 +605,23 @@ int cg_get_xattr(const char *controller, const char *path, const char *name, voi
         return (int) n;
 }
 
+int cg_remove_xattr(const char *controller, const char *path, const char *name) {
+        _cleanup_free_ char *fs = NULL;
+        int r;
+
+        assert(path);
+        assert(name);
+
+        r = cg_get_path(controller, path, NULL, &fs);
+        if (r < 0)
+                return r;
+
+        if (removexattr(fs, name) < 0)
+                return -errno;
+
+        return 0;
+}
+
 int cg_pid_get_path(const char *controller, pid_t pid, char **path) {
         _cleanup_fclose_ FILE *f = NULL;
         const char *fs, *controller_str;
index a717029cbe322a80d52569c6cce655aacee25fa6..ad166190636e26a638331817a0258882211c9f08 100644 (file)
@@ -188,6 +188,7 @@ int cg_set_access(const char *controller, const char *path, uid_t uid, gid_t gid
 
 int cg_set_xattr(const char *controller, const char *path, const char *name, const void *value, size_t size, int flags);
 int cg_get_xattr(const char *controller, const char *path, const char *name, void *value, size_t size);
+int cg_remove_xattr(const char *controller, const char *path, const char *name);
 
 int cg_install_release_agent(const char *controller, const char *agent);
 int cg_uninstall_release_agent(const char *controller);