Commit 8b7497a5 authored by Stanislav Kinsbursky's avatar Stanislav Kinsbursky Committed by Pavel Emelyanov

dump: dump pstree outside tasks loop

No need in checking the pid in every task loop cycle, just dump it
at the beginning and that's it.
Signed-off-by: 's avatarStanislav Kinsbursky <skinsbursky@openvz.org>
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent adce8197
......@@ -1433,18 +1433,18 @@ int cr_dump_tasks(pid_t pid, const struct cr_options *opts)
collect_sockets();
cr_fdset = cr_dump_fdset_open(pid, CR_FD_DESC_USE(CR_FD_PSTREE), cr_fdset);
if (!cr_fdset)
goto err;
if (dump_pstree(pid, &pstree_list, cr_fdset))
goto err;
close_cr_fdset(&cr_fdset);
list_for_each_entry(item, &pstree_list, list) {
cr_fdset = cr_dump_fdset_open(item->pid, CR_FD_DESC_NONE, NULL);
if (!cr_fdset)
goto err;
if (item->pid == pid) {
if (!cr_dump_fdset_open(item->pid, CR_FD_DESC_USE(CR_FD_PSTREE), cr_fdset))
goto err;
if (dump_pstree(pid, &pstree_list, cr_fdset))
goto err;
}
/*
* Prepare for socket queues in advance. They are not per-task,
* but per-someother-task which makes restore tricky. Thus save
......
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