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
}