diff --git a/src/lxc/cgroups/cgroup_utils.c b/src/lxc/cgroups/cgroup_utils.c index dc7813441e..1ffc63fa9c 100644 --- a/src/lxc/cgroups/cgroup_utils.c +++ b/src/lxc/cgroups/cgroup_utils.c @@ -98,3 +98,16 @@ int unified_cgroup_hierarchy(void) return 0; } + +int unified_cgroup_fd(int fd) +{ + + int ret; + struct statfs fs; + + ret = fstatfs(fd, &fs); + if (!ret && is_fs_type(&fs, CGROUP2_SUPER_MAGIC)) + return true; + + return false; +} diff --git a/src/lxc/cgroups/cgroup_utils.h b/src/lxc/cgroups/cgroup_utils.h index 17d7b2ffee..818eead1de 100644 --- a/src/lxc/cgroups/cgroup_utils.h +++ b/src/lxc/cgroups/cgroup_utils.h @@ -30,4 +30,6 @@ __hidden extern bool test_writeable_v2(char *mountpoint, char *path); __hidden extern int unified_cgroup_hierarchy(void); +__hidden extern int unified_cgroup_fd(int fd); + #endif /* __LXC_CGROUP_UTILS_H */