X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fvserver-stat.c;h=2b55f1522be5c53b02b41eba5fc4036dcd1d055d;hb=f64dbf290eb891ebee9b40eabd5240d15a873568;hp=9e1a0151e34d5fe8ef9429a5992031905a2e156e;hpb=d644358f28547545a360401e4b3a5536dda53257;p=util-vserver.git diff --git a/src/vserver-stat.c b/src/vserver-stat.c index 9e1a015..2b55f15 100644 --- a/src/vserver-stat.c +++ b/src/vserver-stat.c @@ -335,8 +335,14 @@ registerXidCgroups(struct Vector *vec, struct process_info *process) } if ((fd = open(DEFAULTCONFDIR "/cgroup/mnt", O_RDONLY)) == -1) { - strcpy(cgroup, "/dev/cgroup/"); - cgroup_len = sizeof("/dev/cgroup"); + if (utilvserver_isDirectory("/sys/fs/cgroup/memory", false)) { + strcpy(cgroup, "/sys/fs/cgroup/"); + cgroup_len = sizeof("/sys/fs/cgroup"); + per_ss = 1; + } else { + strcpy(cgroup, "/dev/cgroup/"); + cgroup_len = sizeof("/dev/cgroup"); + } } else { cgroup_len = read(fd, cgroup, sizeof(cgroup)); @@ -425,7 +431,7 @@ registerXidCgroups(struct Vector *vec, struct process_info *process) } snprintf(filename, sizeof(filename), "%s%s%s/memory.stat", cgroup, (per_ss ? "/memory" : ""), name); - if ((fp = fopen(filename, "r")) == -1) + if ((fp = fopen(filename, "r")) == NULL) perror("open(memory.stat)"); else { unsigned long long _rss = 0, _mapped_file = 0;