[CRIU] [PATCH] parasite: Don't handle CHLD from trapping threads
Pavel Emelyanov
xemul at parallels.com
Tue Oct 14 06:14:26 PDT 2014
The idea is appealing, but
> @@ -1630,15 +1630,21 @@ static int dump_one_task(struct pstree_item *item)
> goto err_cure;
> }
>
> - ret = dump_task_threads(parasite_ctl, item);
> + ret = dump_task_creds(parasite_ctl, cr_imgset, &cr);
> if (ret) {
> - pr_err("Can't dump threads\n");
> - goto err_cure;
> + pr_err("Dump creds (pid: %d) failed with %d\n", pid, ret);
> + goto err;
> }
>
> - ret = dump_task_creds(parasite_ctl, cr_imgset, &cr);
> + ret = parasite_stop_daemon(parasite_ctl);
> if (ret) {
> - pr_err("Dump creds (pid: %d) failed with %d\n", pid, ret);
> + pr_err("Can't cure (pid: %d) from parasite\n", pid);
> + goto err;
> + }
> +
> + ret = dump_task_threads(parasite_ctl, item);
> + if (ret) {
> + pr_err("Can't dump threads\n");
> goto err;
> }
>
This expands the window during which dead CRIU results in dead dumpee as
after parasite_stop_daemon() the latter is in unrecoverable state (the
regs are restored after parasite_munmap()).
Thanks,
Pavel
More information about the CRIU
mailing list