]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - config.c
Add monitor delay parameter to mdadm.conf
[thirdparty/mdadm.git] / config.c
index 7592b2d7aea94a623270fb1029aefd4d54539593..9c725457fac98913186896f881edeae149a86d72 100644 (file)
--- a/config.c
+++ b/config.c
@@ -81,7 +81,7 @@ char DefaultAltConfDir[] = CONFFILE2 ".d";
 
 enum linetype { Devices, Array, Mailaddr, Mailfrom, Program, CreateDev,
                Homehost, HomeCluster, AutoMode, Policy, PartPolicy, Sysfs,
-               LTEnd };
+               MonitorDelay, LTEnd };
 char *keywords[] = {
        [Devices]  = "devices",
        [Array]    = "array",
@@ -95,6 +95,7 @@ char *keywords[] = {
        [Policy]   = "policy",
        [PartPolicy]="part-policy",
        [Sysfs]    = "sysfs",
+       [MonitorDelay] = "monitordelay",
        [LTEnd]    = NULL
 };
 
@@ -588,6 +589,17 @@ void homeclusterline(char *line)
        }
 }
 
+static int monitor_delay;
+void monitordelayline(char *line)
+{
+       char *w;
+
+       for (w = dl_next(line); w != line; w = dl_next(w)) {
+               if (monitor_delay == 0)
+                       monitor_delay = strtol(w, NULL, 10);
+       }
+}
+
 char auto_yes[] = "yes";
 char auto_no[] = "no";
 char auto_homehost[] = "homehost";
@@ -769,6 +781,9 @@ void conf_file(FILE *f)
                case Sysfs:
                        sysfsline(line);
                        break;
+               case MonitorDelay:
+                       monitordelayline(line);
+                       break;
                default:
                        pr_err("Unknown keyword %s\n", line);
                }
@@ -925,6 +940,12 @@ char *conf_get_homecluster(void)
        return home_cluster;
 }
 
+int conf_get_monitor_delay(void)
+{
+       load_conffile();
+       return monitor_delay;
+}
+
 struct createinfo *conf_get_create_info(void)
 {
        load_conffile();