Commit f3c66956 authored by Andrey Vagin's avatar Andrey Vagin Committed by Pavel Emelyanov

dump: get a file descriptor on procfs from parasite

This proc will be used for dumping zombies from pidns.
Signed-off-by: 's avatarAndrey Vagin <avagin@openvz.org>
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent 9508e39e
......@@ -60,6 +60,7 @@
#endif
static char loc_buf[PAGE_SIZE];
static int pidns_proc = -1;
void free_mappings(struct list_head *vma_area_list)
{
......@@ -1391,13 +1392,21 @@ static int dump_one_task(struct pstree_item *item)
goto err;
}
ret = -1;
parasite_ctl = parasite_infect_seized(pid, &vma_area_list);
if (!parasite_ctl) {
ret = -1;
pr_err("Can't infect (pid: %d) with parasite\n", pid);
goto err;
}
if (opts.namespaces_flags & CLONE_NEWPID && pidns_proc < 0) {
pidns_proc = parasite_get_proc_fd_seized(parasite_ctl);
if (pidns_proc < 0) {
pr_err("Can't get proc fd (pid: %d)\n", pid);
goto err_cure_fdset;
}
}
ret = parasite_dump_misc_seized(parasite_ctl, &misc);
if (ret) {
pr_err("Can't dump misc (pid: %d)\n", pid);
......@@ -1557,5 +1566,7 @@ err:
ret ? TASK_ALIVE : opts->final_state);
free_pstree(root_item);
close_safe(&pidns_proc);
return ret;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment