[CRIU] [PATCH 03/11] mounts: enumirate mounts bellow specified element

Andrey Vagin avagin at openvz.org
Tue Jul 30 12:25:28 EDT 2013


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

diff --git a/mount.c b/mount.c
index b2ffc87..d60fb9a 100644
--- a/mount.c
+++ b/mount.c
@@ -598,7 +598,9 @@ int dump_mnt_ns(int ns_pid, struct cr_fdset *fdset)
 	return 0;
 }
 
-#define MNT_TREE_WALK(_mi, _el, _fn_f, _fn_r) do {				\
+#define MNT_TREE_WALK(_r, _el, _fn_f, _fn_r) do {				\
+		struct mount_info *_mi = _r;					\
+										\
 		while (1) {							\
 			if (_fn_f(_mi))						\
 				return -1;					\
@@ -610,8 +612,8 @@ int dump_mnt_ns(int ns_pid, struct cr_fdset *fdset)
 	up:									\
 			if (_fn_r(_mi))						\
 				return -1;					\
-			if (_mi->parent == NULL)				\
-				return 0;					\
+			if (_mi == _r)						\
+				break;						\
 			if (_mi->siblings._el == &_mi->parent->children) {	\
 				_mi = _mi->parent;				\
 				goto up;					\
@@ -628,12 +630,16 @@ static int mnt_tree_for_each(struct mount_info *m,
 		int (*fn)(struct mount_info *))
 {
 	MNT_TREE_WALK(m, next, fn, MNT_WALK_NONE);
+
+	return 0;
 }
 
 static int mnt_tree_for_each_reverse(struct mount_info *m,
 		int (*fn)(struct mount_info *))
 {
 	MNT_TREE_WALK(m, prev, MNT_WALK_NONE, fn);
+
+	return 0;
 }
 
 static char *resolve_source(struct mount_info *mi)
-- 
1.8.3.1



More information about the CRIU mailing list