[CRIU] [PATCH 1/2] mount: validate mounts only once on dump

Andrey Vagin avagin at openvz.org
Wed Sep 10 05:46:40 PDT 2014


mntinfo contains mounts from all namespaces, so we can validate it only
once after collecting mounts.

Signed-off-by: Andrey Vagin <avagin at openvz.org>
---
 mount.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/mount.c b/mount.c
index 001aa45..585375c 100644
--- a/mount.c
+++ b/mount.c
@@ -993,9 +993,6 @@ static int dump_mnt_ns(struct ns_id *ns, struct mount_info *pms)
 	int img_fd = -1, ret = -1;
 	int ns_id = ns->id;
 
-	if (validate_mounts(pms, true))
-		goto err;
-
 	pr_info("Dumping mountpoints\n");
 	img_fd = open_image(CR_FD_MNTS, O_DUMP, ns_id);
 	if (img_fd < 0)
@@ -2096,8 +2093,8 @@ static int walk_mnt_ns(int (*cb)(struct ns_id *, struct mount_info *, void *), v
 				if (mntinfo == NULL)
 					goto err;
 			}
-
-			continue;
+			/* We are not going to dump this tree, so we skip validation */
+			goto out;
 		}
 
 		pr_info("Dump MNT namespace (mountpoints) %d via %d\n", ns->id, ns->pid);
@@ -2112,6 +2109,9 @@ static int walk_mnt_ns(int (*cb)(struct ns_id *, struct mount_info *, void *), v
 	}
 	if (collect_shared(mntinfo))
 		goto err;
+	if (validate_mounts(mntinfo, true))
+		goto err;
+out:
 	ret = 0;
 err:
 	return ret;
-- 
1.9.3



More information about the CRIU mailing list