Commit 79f3e908 authored by Pavel Emelyanov's avatar Pavel Emelyanov

rst: Less arguments to restore_task_mnt_ns

Acked-by: 's avatarAndrew Vagin <avagin@parallels.com>
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent 8472345d
......@@ -1283,17 +1283,8 @@ static int restore_task_with_children(void *_arg)
if (create_children_and_session())
goto err;
if (current->ids && current->ids->has_mnt_ns_id) {
struct ns_id *nsid;
nsid = lookup_ns_by_id(current->ids->mnt_ns_id, &mnt_ns_desc);
if (nsid == NULL) {
pr_err("Can't find mount namespace %d\n", current->ids->mnt_ns_id);
goto err;
}
if (restore_task_mnt_ns(nsid, current->pid.real))
goto err;
}
if (restore_task_mnt_ns(current))
goto err;
if (unmap_guard_pages())
goto err;
......
......@@ -29,7 +29,8 @@ extern dev_t phys_stat_resolve_dev(struct mount_info *tree,
extern bool phys_stat_dev_match(struct mount_info *tree, dev_t st_dev,
dev_t phys_dev, const char *path);
extern int restore_task_mnt_ns(struct ns_id *nsid, pid_t pid);
struct pstree_item;
extern int restore_task_mnt_ns(struct pstree_item *);
extern int fini_mnt_ns(void);
char *rst_get_mnt_root(int mnt_id);
......
......@@ -1575,7 +1575,7 @@ char *rst_get_mnt_root(int mnt_id)
return path;
}
int restore_task_mnt_ns(struct ns_id *nsid, pid_t pid)
static int do_restore_task_mnt_ns(struct ns_id *nsid, pid_t pid)
{
char path[PATH_MAX];
......@@ -1613,6 +1613,24 @@ int restore_task_mnt_ns(struct ns_id *nsid, pid_t pid)
return 0;
}
int restore_task_mnt_ns(struct pstree_item *current)
{
if (current->ids && current->ids->has_mnt_ns_id) {
struct ns_id *nsid;
nsid = lookup_ns_by_id(current->ids->mnt_ns_id, &mnt_ns_desc);
if (nsid == NULL) {
pr_err("Can't find mount namespace %d\n", current->ids->mnt_ns_id);
return -1;
}
if (do_restore_task_mnt_ns(nsid, current->pid.real))
return -1;
}
return 0;
}
/*
* All nested mount namespaces are restore as sub-trees of the root namespace.
*/
......
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