When cgclear is invoked against a cgroup v2 controller,
do not attempt to unmount the v2 controller.
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
struct cgroup_controller *cgc = NULL;
char path[FILENAME_MAX];
void *handle;
+ enum cg_version_t version;
cgroup = cgroup_new_cgroup(".");
if (cgroup == NULL)
if (ret != 0)
goto out_error;
+ ret = cgroup_get_controller_version(mount_info->name, &version);
+ if (ret != 0)
+ goto out_error;
+
+ if (version == CGROUP_V2)
+ /* do not unmount the controller */
+ goto out_error;
+
/* unmount everything */
ret = cgroup_get_subsys_mount_point_begin(mount_info->name, &handle,
path);