Blob Blame History Raw
autofs-5.1.7 - add set_offset_tree_catatonic()

From: Ian Kent <raven@themaw.net>

Add tree mapent support function set_offset_tree_catatonic().

Signed-off-by: Ian Kent <raven@themaw.net>
---
 CHANGELOG    |    1 +
 lib/mounts.c |   15 +++++++++++++++
 2 files changed, 16 insertions(+)

diff --git a/CHANGELOG b/CHANGELOG
index 89d4cfa0..0bd6f181 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -38,6 +38,7 @@
 - add tree_mapent_traverse_subtree().
 - fix mount_fullpath().
 - add tree_mapent_cleanup_offsets().
+- add set_offset_tree_catatonic().
 
 25/01/2021 autofs-5.1.7
 - make bind mounts propagation slave by default.
diff --git a/lib/mounts.c b/lib/mounts.c
index ba573b9a..f075a27e 100644
--- a/lib/mounts.c
+++ b/lib/mounts.c
@@ -2578,6 +2578,21 @@ static int set_mount_catatonic(struct autofs_point *ap, struct mapent *me, int i
 	return 0;
 }
 
+static int set_offset_tree_catatonic_work(struct tree_node *n, void *ptr)
+{
+	struct mapent *me = MAPENT(n);
+	struct autofs_point *ap = me->mc->ap;
+
+	set_mount_catatonic(ap, me, me->ioctlfd);
+
+	return 1;
+}
+
+static void set_offset_tree_catatonic(struct autofs_point *ap, struct mapent *me)
+{
+	tree_traverse_inorder(MAPENT_ROOT(me), set_offset_tree_catatonic_work, NULL);
+}
+
 static void set_multi_mount_tree_catatonic(struct autofs_point *ap, struct mapent *me)
 {
 	if (!list_empty(&me->multi_list)) {