mirror of
https://github.com/checkpoint-restore/criu
synced 2025-08-31 22:35: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> Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
This commit is contained in:
committed by
Andrei Vagin
parent
d076328ce0
commit
37b99ebe5b
@@ -1051,9 +1051,6 @@ static int setup_newborn_fds(struct pstree_item *me)
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (log_init_by_pid(vpid(me)))
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1607,9 +1604,6 @@ static int restore_task_with_children(void *_arg)
|
||||
if ( !(ca->clone_flags & CLONE_FILES))
|
||||
close_safe(&ca->fd);
|
||||
|
||||
if (setup_newborn_fds(current))
|
||||
goto err;
|
||||
|
||||
pid = getpid();
|
||||
if (vpid(current) != pid) {
|
||||
pr_err("Pid %d do not match expected %d\n", pid, vpid(current));
|
||||
@@ -1617,6 +1611,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
|
||||
@@ -1683,6 +1680,9 @@ static int restore_task_with_children(void *_arg)
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (setup_newborn_fds(current))
|
||||
goto err;
|
||||
|
||||
if (restore_task_mnt_ns(current))
|
||||
goto err;
|
||||
|
||||
|
Reference in New Issue
Block a user