2
0
mirror of https://github.com/checkpoint-restore/criu synced 2025-08-22 09:58:09 +00:00

mnt: Add comment about mntns to tasks assignment

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
Acked-by: Andrew Vagin <avagin@odin.com>
This commit is contained in:
Pavel Emelyanov 2015-03-31 10:59:00 +03:00
parent 02edd8051e
commit 7263054c3a
2 changed files with 15 additions and 1 deletions

View File

@ -2017,6 +2017,15 @@ int restore_task_mnt_ns(struct pstree_item *current)
unsigned int id = current->ids->mnt_ns_id; unsigned int id = current->ids->mnt_ns_id;
struct ns_id *nsid; struct ns_id *nsid;
/*
* Regardless of the namespace a task wants to
* live in, by that point they all will live in
* root's one (see prepare_pstree_kobj_ids() +
* get_clone_mask()). So if the current task's
* target namespace is the root's one -- it's
* already there, otherwise it will have to do
* setns().
*/
if (root_item->ids->mnt_ns_id == id) if (root_item->ids->mnt_ns_id == id)
return 0; return 0;

View File

@ -689,7 +689,12 @@ set_mask:
* Mount namespaces are setns()-ed at * Mount namespaces are setns()-ed at
* restore_task_mnt_ns() explicitly, * restore_task_mnt_ns() explicitly,
* no need in creating it with its own * no need in creating it with its own
* temporary namespace * temporary namespace.
*
* Root task is exceptional -- it will
* be born in a fresh new mount namespace
* which will be populated with all other
* namespaces' entries.
*/ */
rsti(item)->clone_flags &= ~CLONE_NEWNS; rsti(item)->clone_flags &= ~CLONE_NEWNS;