Blame SOURCES/autofs-5.1.7-fix-return-from-umount_subtree_mounts-on-offset-list-delete.patch

96dc52
autofs-5.1.7 - fix return from umount_subtree_mounts() on offset list delete
96dc52
96dc52
From: Ian Kent <raven@themaw.net>
96dc52
96dc52
When there are no mounts left in a subtree of offset mounts the offset
96dc52
list is deleted. If all goes well deleting the list this shouldn't cause
96dc52
a positive return from umount_subtree_mounts() (essentially saying that
96dc52
the umount of the subtree has not succeeded).
96dc52
96dc52
Signed-off-by: Ian Kent <raven@themaw.net>
96dc52
---
96dc52
 CHANGELOG          |    1 +
96dc52
 daemon/automount.c |    5 +++--
96dc52
 2 files changed, 4 insertions(+), 2 deletions(-)
96dc52
96dc52
diff --git a/CHANGELOG b/CHANGELOG
96dc52
index 64e619ec..6e0edd74 100644
96dc52
--- a/CHANGELOG
96dc52
+++ b/CHANGELOG
96dc52
@@ -16,6 +16,7 @@
96dc52
 - simplify mount_subtree() mount check.
96dc52
 - fix mnts_get_expire_list() expire list construction.
96dc52
 - fix inconsistent locking in umount_subtree_mounts().
96dc52
+- fix return from umount_subtree_mounts() on offset list delete.
96dc52
 
96dc52
 25/01/2021 autofs-5.1.7
96dc52
 - make bind mounts propagation slave by default.
96dc52
diff --git a/daemon/automount.c b/daemon/automount.c
96dc52
index 93bd8556..62530b6b 100644
96dc52
--- a/daemon/automount.c
96dc52
+++ b/daemon/automount.c
96dc52
@@ -590,9 +590,10 @@ static int umount_subtree_mounts(struct autofs_point *ap, const char *path, unsi
96dc52
 
96dc52
 		if (!left && is_mm_root) {
96dc52
 			status = cache_delete_offset_list(mc, me->key);
96dc52
-			if (status != CHE_OK)
96dc52
+			if (status != CHE_OK) {
96dc52
 				warn(ap->logopt, "couldn't delete offset list");
96dc52
-			left++;
96dc52
+				left++;
96dc52
+			}
96dc52
 		}
96dc52
 
96dc52
 		if (ap->entry->maps &&