On 09.07.2021 02:23, Andrey Zhadchenko wrote:
> Existing cgroup_get_e_css() is not suited for cgroup-v1 and will always
> return root cgroup css. Implement new cgroup_get_e_ve_css to return
> ve css.
> 
> https://jira.sw.ru/browse/PSBM-131253
> Signed-off-by: Andrey Zhadchenko <[email protected]>

Reviewed-by: Kirill Tkhai <[email protected]>

> ---
>  include/linux/cgroup.h |  2 ++
>  kernel/cgroup/cgroup.c | 17 +++++++++++++++++
>  2 files changed, 19 insertions(+)
> 
> diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h
> index 1223bc8..dbe6137 100644
> --- a/include/linux/cgroup.h
> +++ b/include/linux/cgroup.h
> @@ -876,6 +876,8 @@ int cgroup_path_ns(struct cgroup *cgrp, char *buf, size_t 
> buflen,
>  void cgroup_unmark_ve_roots(struct ve_struct *ve);
>  struct cgroup_subsys_state *css_local_root(struct cgroup_subsys_state *css);
>  struct ve_struct *cgroup_get_ve_owner(struct cgroup *cgrp);
> +struct cgroup_subsys_state *cgroup_get_e_ve_css(struct cgroup *cgrp,
> +                                             struct cgroup_subsys *ss);
>  #endif
>  
>  #else /* !CONFIG_CGROUPS */
> diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c
> index 57ff462c..ad72ebb 100644
> --- a/kernel/cgroup/cgroup.c
> +++ b/kernel/cgroup/cgroup.c
> @@ -656,6 +656,23 @@ struct cgroup_subsys_state *cgroup_get_e_css(struct 
> cgroup *cgrp,
>       return css;
>  }
>  
> +#ifdef CONFIG_VE
> +struct cgroup_subsys_state *cgroup_get_e_ve_css(struct cgroup *cgrp,
> +                                             struct cgroup_subsys *ss)
> +{
> +     struct cgroup_subsys_state *css;
> +     struct ve_struct *ve;
> +
> +     rcu_read_lock();
> +
> +     ve = cgroup_get_ve_owner(cgrp);
> +     css = ve_get_init_css(ve, ss->id);
> +
> +     rcu_read_unlock();
> +     return css;
> +}
> +#endif
> +
>  static void cgroup_get_live(struct cgroup *cgrp)
>  {
>       WARN_ON_ONCE(cgroup_is_dead(cgrp));
> 

_______________________________________________
Devel mailing list
[email protected]
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to