int path_is_temporary_fs(const char *path) { _cleanup_close_ int fd = -1; fd = open(path, O_RDONLY|O_CLOEXEC|O_NOCTTY|O_PATH); if (fd < 0) return -errno; return fd_is_temporary_fs(fd); }
static void test_fd_is_cgroup_fs(void) { int fd; fd = open("/sys/fs/cgroup", O_RDONLY|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW); assert_se(fd >= 0); if (fd_is_temporary_fs(fd)) { fd = safe_close(fd); fd = open("/sys/fs/cgroup/systemd", O_RDONLY|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW); assert_se(fd >= 0); } assert_se(fd_is_cgroup_fs(fd)); fd = safe_close(fd); }