[CRIU] [PATCH 03/11] mount: don't set m->bind if m is already mounted

Andrey Vagin avagin at openvz.org
Sun Aug 3 12:26:32 PDT 2014


m->bind will be used to get the lowest mount.

mount is "lowest", if m->bind is NULL. The "lowest" moutn is mounted, all
other are bind-mounted from it.

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

diff --git a/mount.c b/mount.c
index a8133d7..a996a9b 100644
--- a/mount.c
+++ b/mount.c
@@ -1189,11 +1189,15 @@ static int propagate_siblings(struct mount_info *mi)
 	 * to inherite shared group or master id
 	 */
 	list_for_each_entry(t, &mi->mnt_share, mnt_share) {
+		if (t->mounted)
+			continue;
 		pr_debug("\t\tBind %s\n", t->mountpoint);
 		t->bind = mi;
 	}
 
 	list_for_each_entry(t, &mi->mnt_slave_list, mnt_slave) {
+		if (t->mounted)
+			continue;
 		pr_debug("\t\tBind %s\n", t->mountpoint);
 		t->bind = mi;
 	}
@@ -1234,6 +1238,8 @@ skip_parent:
 	 */
 	if (fsroot_mounted(mi) || mi->parent == NULL)
 		list_for_each_entry(t, &mi->mnt_bind, mnt_bind) {
+			if (t->mounted)
+				continue;
 			if (t->bind)
 				continue;
 			if (t->master_id)
-- 
1.8.5.3



More information about the CRIU mailing list