static bool can_use_swap;
static bool can_use_sys_cpu;
static bool has_versioned_opts;
+static bool memory_is_cgroupv2;
static volatile sig_atomic_t reload_successful;
return has_versioned_opts;
}
+bool liblxcfs_memory_is_cgroupv2(void)
+{
+ return memory_is_cgroupv2;
+}
+
/* Define pivot_root() if missing from the C library */
#ifndef HAVE_PIVOT_ROOT
static int pivot_root(const char *new_root, const char *put_old)
pidfd = -EBADF;
int i = 0;
pid_t pid;
+ struct hierarchy *hierarchy;
lxcfs_info("Running constructor %s to reload liblxcfs", __func__);
else
lxcfs_info("Kernel does not support swap accounting");
+ hierarchy = cgroup_ops->get_hierarchy(cgroup_ops, "memory");
+ memory_is_cgroupv2 = hierarchy && is_unified_hierarchy(hierarchy);
+
lxcfs_info("api_extensions:");
for (size_t nr = 0; nr < nr_api_extensions; nr++)
lxcfs_info("- %s", api_extensions[nr]);