@cryptotaxi247 / netdata-1 / commits / 5da9b375e

fix double host prefix (#12380)

Ilya Mashchenko committed Mar 14, 2022 at 11:44 UTC 5da9b375ec3ea59a7b2a6ec4022c8662427f1e63
1 file changed +14 -6
collectors/cgroups.plugin/sys_fs_cgroup.c
+14 -6
@@ -213,6 +213,14 @@ static enum cgroups_type cgroups_try_detect_version()
213 return CGROUPS_V2;
214 }
215
216 +void set_cgroup_base_path(char *filename, char *path) {
217 + if (strncmp(netdata_configured_host_prefix, path, strlen(netdata_configured_host_prefix)) == 0) {
218 + snprintfz(filename, FILENAME_MAX, "%s", path);
219 + } else {
220 + snprintfz(filename, FILENAME_MAX, "%s%s", netdata_configured_host_prefix, path);
221 + }
222 +}
223 +
224 void read_cgroup_plugin_configuration() {
225 system_page_size = sysconf(_SC_PAGESIZE);
226
@@ -285,7 +293,7 @@ void read_cgroup_plugin_configuration() {
293 s = "/sys/fs/cgroup/cpuacct";
294 }
295 else s = mi->mount_point;
288 - snprintfz(filename, FILENAME_MAX, "%s%s", netdata_configured_host_prefix, s);
296 + set_cgroup_base_path(filename, s);
297 cgroup_cpuacct_base = config_get("plugin:cgroups", "path to /sys/fs/cgroup/cpuacct", filename);
298
299 mi = mountinfo_find_by_filesystem_super_option(root, "cgroup", "cpuset");
@@ -295,7 +303,7 @@ void read_cgroup_plugin_configuration() {
303 s = "/sys/fs/cgroup/cpuset";
304 }
305 else s = mi->mount_point;
298 - snprintfz(filename, FILENAME_MAX, "%s%s", netdata_configured_host_prefix, s);
306 + set_cgroup_base_path(filename, s);
307 cgroup_cpuset_base = config_get("plugin:cgroups", "path to /sys/fs/cgroup/cpuset", filename);
308
309 mi = mountinfo_find_by_filesystem_super_option(root, "cgroup", "blkio");
@@ -305,7 +313,7 @@ void read_cgroup_plugin_configuration() {
313 s = "/sys/fs/cgroup/blkio";
314 }
315 else s = mi->mount_point;
308 - snprintfz(filename, FILENAME_MAX, "%s%s", netdata_configured_host_prefix, s);
316 + set_cgroup_base_path(filename, s);
317 cgroup_blkio_base = config_get("plugin:cgroups", "path to /sys/fs/cgroup/blkio", filename);
318
319 mi = mountinfo_find_by_filesystem_super_option(root, "cgroup", "memory");
@@ -315,7 +323,7 @@ void read_cgroup_plugin_configuration() {
323 s = "/sys/fs/cgroup/memory";
324 }
325 else s = mi->mount_point;
318 - snprintfz(filename, FILENAME_MAX, "%s%s", netdata_configured_host_prefix, s);
326 + set_cgroup_base_path(filename, s);
327 cgroup_memory_base = config_get("plugin:cgroups", "path to /sys/fs/cgroup/memory", filename);
328
329 mi = mountinfo_find_by_filesystem_super_option(root, "cgroup", "devices");
@@ -325,7 +333,7 @@ void read_cgroup_plugin_configuration() {
333 s = "/sys/fs/cgroup/devices";
334 }
335 else s = mi->mount_point;
328 - snprintfz(filename, FILENAME_MAX, "%s%s", netdata_configured_host_prefix, s);
336 + set_cgroup_base_path(filename, s);
337 cgroup_devices_base = config_get("plugin:cgroups", "path to /sys/fs/cgroup/devices", filename);
338 }
339 else {
@@ -357,7 +365,7 @@ void read_cgroup_plugin_configuration() {
365 s = "/sys/fs/cgroup";
366 }
367 else s = mi->mount_point;
360 - snprintfz(filename, FILENAME_MAX, "%s%s", netdata_configured_host_prefix, s);
368 + set_cgroup_base_path(filename, s);
369 cgroup_unified_base = config_get("plugin:cgroups", "path to unified cgroups", filename);
370 debug(D_CGROUP, "using cgroup root: '%s'", cgroup_unified_base);
371 }