Blame SOURCES/autofs-5.1.2-dont-return-until-after-master-map-retry-read.patch

306fa1
autofs-5.1.2 - don't return until after master map retry read
306fa1
306fa1
From: Ian Kent <raven@themaw.net>
306fa1
306fa1
The master map read retry needs to be done before returning success
306fa1
at startup or there can be problems trying to access automount mounts
306fa1
before they are mounted.
306fa1
306fa1
Signed-off-by: Ian Kent <raven@themaw.net>
306fa1
---
306fa1
 CHANGELOG          |    1 +
306fa1
 daemon/automount.c |   31 ++++++++++---------------------
306fa1
 2 files changed, 11 insertions(+), 21 deletions(-)
306fa1
306fa1
--- autofs-5.0.7.orig/CHANGELOG
306fa1
+++ autofs-5.0.7/CHANGELOG
306fa1
@@ -211,6 +211,7 @@
306fa1
 - fix included master map not found return.
306fa1
 - dont exit on master map read fail timeout.
306fa1
 - set sane default master read wait timeout.
306fa1
+- don't return until after master map retry read.
306fa1
 
306fa1
 25/07/2012 autofs-5.0.7
306fa1
 =======================
306fa1
--- autofs-5.0.7.orig/daemon/automount.c
306fa1
+++ autofs-5.0.7/daemon/automount.c
306fa1
@@ -2483,27 +2483,6 @@ int main(int argc, char *argv[])
306fa1
 
306fa1
 	master_read = master_read_master(master_list, age, 0);
306fa1
 	if (!master_read) {
306fa1
-		if (foreground)
306fa1
-			logerr("%s: failed to read master map, "
306fa1
-			       "will retry!",
306fa1
-			       program);
306fa1
-		else
306fa1
-			logerr("%s: failed to read master map, "
306fa1
-			       "will retry in background!",
306fa1
-			       program);
306fa1
-	}
306fa1
-
306fa1
-	/*
306fa1
-	 * Mmm ... reset force unlink umount so we don't also do this
306fa1
-	 * in future when we receive a HUP signal.
306fa1
-	 */
306fa1
-	do_force_unlink = 0;
306fa1
-
306fa1
-	st_stat = 0;
306fa1
-	res = write(start_pipefd[1], pst_stat, sizeof(*pst_stat));
306fa1
-	close(start_pipefd[1]);
306fa1
-
306fa1
-	if (!master_read) {
306fa1
 		/*
306fa1
 		 * Read master map, waiting until it is available, unless
306fa1
 		 * a signal is received, in which case exit returning an
306fa1
@@ -2521,6 +2500,16 @@ int main(int argc, char *argv[])
306fa1
 		}
306fa1
 	}
306fa1
 
306fa1
+	/*
306fa1
+	 * Mmm ... reset force unlink umount so we don't also do this
306fa1
+	 * in future when we receive a HUP signal.
306fa1
+	 */
306fa1
+	do_force_unlink = 0;
306fa1
+
306fa1
+	st_stat = 0;
306fa1
+	res = write(start_pipefd[1], pst_stat, sizeof(*pst_stat));
306fa1
+	close(start_pipefd[1]);
306fa1
+
306fa1
 	state_mach_thid = pthread_self();
306fa1
 	statemachine(NULL);
306fa1