mirror of
https://github.com/checkpoint-restore/criu.git
synced 2026-08-05 00:03:33 +00:00
files: Do setup_newborn_fds() later
This patch makes the call of service fds relocation after root_prepare_shared()->prepare_fd_pid(). Next patches will make service_fd_base depend on task's max fd used, and for root_item we need to read all fles to know the maximum of them. Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
This commit is contained in:
parent
4fc7cdecf5
commit
fa26f01bb4
1 changed files with 6 additions and 6 deletions
|
|
@ -1205,9 +1205,6 @@ static int setup_newborn_fds(struct pstree_item *me)
|
|||
return -1;
|
||||
}
|
||||
|
||||
if (log_init_by_pid(vpid(me)))
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -1815,9 +1812,6 @@ static int restore_task_with_children(void *_arg)
|
|||
if (current->pid->real < 0)
|
||||
goto err;
|
||||
|
||||
if (setup_newborn_fds(current))
|
||||
goto err;
|
||||
|
||||
pid = getpid();
|
||||
if (last_level_pid(current->pid) != pid) {
|
||||
pr_err("Pid %d do not match expected %d (task %d)\n",
|
||||
|
|
@ -1826,6 +1820,9 @@ static int restore_task_with_children(void *_arg)
|
|||
goto err;
|
||||
}
|
||||
|
||||
if (log_init_by_pid(vpid(current)))
|
||||
return -1;
|
||||
|
||||
if (current->parent == NULL) {
|
||||
/*
|
||||
* The root task has to be in its namespaces before executing
|
||||
|
|
@ -1895,6 +1892,9 @@ static int restore_task_with_children(void *_arg)
|
|||
goto err;
|
||||
}
|
||||
|
||||
if (setup_newborn_fds(current))
|
||||
goto err;
|
||||
|
||||
if ((ca->clone_flags & CLONE_NEWPID) && setup_current_pid_ns())
|
||||
goto err;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue