diff options
author | Benny Baumann <BenBE@geshi.org> | 2022-03-06 15:02:49 +0100 |
---|---|---|
committer | BenBE <BenBE@geshi.org> | 2022-03-06 19:56:25 +0100 |
commit | c4239335b9fb2da6dab1f53ff0e8eb32c78530de (patch) | |
tree | c7fbf84a48e735573a0f0725ac67193f68af6cce /linux | |
parent | 23b56193d7e8fd01b755c2dd269a19a5de2cc68d (diff) |
Skip system slice name
This shortens paths like /system.slice/system-postgres.slice/postgres@12-main.service to /[S]/postgres@12-main.
Without this some cgroup names for getty processes explode in length.
Diffstat (limited to 'linux')
-rw-r--r-- | linux/CGroupUtils.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/linux/CGroupUtils.c b/linux/CGroupUtils.c index d6d2ae8f..22cce91b 100644 --- a/linux/CGroupUtils.c +++ b/linux/CGroupUtils.c @@ -66,6 +66,7 @@ static bool CGroup_filterName_internal(const char *cgroup, StrBuf_state* s, StrB const char* str_user_slice = "user.slice"; const char* str_machine_slice = "machine.slice"; const char* str_user_slice_prefix = "/user-"; + const char* str_system_slice_prefix = "/system-"; const char* str_lxc_monitor_legacy = "lxc.monitor"; const char* str_lxc_payload_legacy = "lxc.payload"; @@ -102,6 +103,11 @@ static bool CGroup_filterName_internal(const char *cgroup, StrBuf_state* s, StrB if (!StrBuf_putsz(s, w, "[S]")) return false; + if (String_startsWith(cgroup, str_system_slice_prefix)) { + cgroup = strchrnul(cgroup + 1, '/'); + continue; + } + continue; } |