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