[CRIU] [PATCH] Attempt to restore cgroups
Tycho Andersen
tycho.andersen at canonical.com
Thu Jul 10 06:39:20 PDT 2014
Hi Pavel,
On Thu, Jul 10, 2014 at 05:04:39PM +0400, Pavel Emelyanov wrote:
> On 07/09/2014 11:23 PM, Tycho Andersen wrote:
>
> > Ah, yes, my mistake. Looks like it requires a fix in two places, below
> > is the revised patch.
>
> OK, great! I've applied the patch, thank you.
Great!
> But there's one more issue. I believe we discussed one, but it's
> still there. To demonstrate one I added some logging into the code:
>
> --- a/cgroup.c
> +++ b/cgroup.c
> @@ -487,6 +487,7 @@ static int dump_cg_dirs(struct list_head *dirs, size_t n_dirs, CgroupDirEntry **
> cgroup_dir_entry__init(cde);
>
> cde->path = cur->path;
> + pr_debug("CG: %s (%d kids)\n", cur->path, cur->n_children);
>
> cde->n_children = cur->n_children;
> if (cur->n_children > 0)
> @@ -521,6 +522,7 @@ static int dump_controllers(CgroupEntry *cg)
> ce->cnames = cur->controllers;
> ce->n_cnames = cur->n_controllers;
> ce->n_dirs = cur->n_heads;
> + pr_debug("CG: cg from %s...\n", ce->cnames[0]);
> if (ce->n_dirs > 0)
> if (dump_cg_dirs(&cur->heads, cur->n_heads, &ce->dirs) < 0) {
> xfree(cg->controllers);
>
>
> It shows what tree gets into the image files. And the cgroup01 test shows
> me this:
>
> (00.007655) cg: CG: cg from name=zdtmtst...
> (00.007657) cg: CG: / (1 kids)
> (00.007663) cg: CG: /subcg (1 kids)
> (00.007666) cg: CG: /subcg/empty (0 kids)
> (00.007668) cg: CG: subcg (1 kids)
> (00.007671) cg: CG: subcg/empty (0 kids)
>
> In other words -- the subcg and subcg/empty got into lists twice -- once as
> the / children entries and once as top-level ones.
Urgh. Ok, will take a look and send a patch.
Tycho
More information about the CRIU
mailing list