static void test_is_cgroup_fs(void) { struct statfs sfs; assert_se(statfs("/sys/fs/cgroup", &sfs) == 0); if (is_temporary_fs(&sfs)) assert_se(statfs("/sys/fs/cgroup/systemd", &sfs) == 0); assert_se(is_cgroup_fs(&sfs)); }
int fd_is_temporary_fs(int fd) { struct statfs s; if (fstatfs(fd, &s) < 0) return -errno; return is_temporary_fs(&s); }
static bool is_physical_fs(const struct statfs *sfs) { return !is_temporary_fs(sfs) && !is_cgroup_fs(sfs); }