[CRIU] [PATCH 1/7] mount: Split reading images and populating the ns
Pavel Emelyanov
xemul at parallels.com
Wed Dec 25 04:53:27 PST 2013
We will need images at hands while we do pivot_root (see further patches),
so prepare the images reading routine.
Signed-off-by: Pavel Emelyanov <xemul at parallels.com>
---
mount.c | 29 ++++++++++++++++++++---------
1 file changed, 20 insertions(+), 9 deletions(-)
diff --git a/mount.c b/mount.c
index 9eeb908..fce0554 100644
--- a/mount.c
+++ b/mount.c
@@ -1209,7 +1209,7 @@ static void free_mounts(void)
}
}
-static int populate_mnt_ns(int ns_pid)
+static int read_mnt_ns_img(int ns_pid)
{
MntEntry *me = NULL;
int img, ret;
@@ -1277,15 +1277,8 @@ static int populate_mnt_ns(int ns_pid)
mntinfo_tree = NULL;
mntinfo = pms;
- pms = mnt_build_tree(pms);
- if (!pms)
- return -1;
-
- if (validate_mounts(pms))
- return -1;
+ return 0;
- mntinfo_tree = pms;
- return mnt_tree_for_each(pms, do_mount_one);
err:
while (pms) {
struct mount_info *pm = pms;
@@ -1296,6 +1289,24 @@ err:
return -1;
}
+static int populate_mnt_ns(int ns_pid)
+{
+ struct mount_info *pms;
+
+ if (read_mnt_ns_img(ns_pid))
+ return -1;
+
+ pms = mnt_build_tree(mntinfo);
+ if (!pms)
+ return -1;
+
+ if (validate_mounts(pms))
+ return -1;
+
+ mntinfo_tree = pms;
+ return mnt_tree_for_each(pms, do_mount_one);
+}
+
int prepare_mnt_ns(int ns_pid)
{
int ret;
--
1.8.3.1
More information about the CRIU
mailing list