From 24e075c659d0a8718aabefe5af4c97195a188af7 Mon Sep 17 00:00:00 2001 From: Lukasz Florczak Date: Fri, 18 Mar 2022 09:26:06 +0100 Subject: [PATCH 08/61] mdadm: Update config man regarding default files and multi-keyword behavior Patch-mainline: mdadm-4.2+ References: jsc#PED-1009 Simplify default and alternative config file and directory location references from mdadm(8) as references to mdadm.conf(5). Add FILE section in config man and explain order and conditions in which default and alternative config files and directories are used. Update config man behavior regarding parsing order when multiple keywords/config files are involved. Signed-off-by: Lukasz Florczak Acked-by: Coly Li Signed-off-by: Jes Sorensen --- mdadm.8.in | 30 +++++++++-------------- mdadm.conf.5.in | 65 ++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 71 insertions(+), 24 deletions(-) diff --git a/mdadm.8.in b/mdadm.8.in index 8b21ffd..0be02e4 100644 --- a/mdadm.8.in +++ b/mdadm.8.in @@ -266,14 +266,11 @@ the exact meaning of this option in different contexts. .TP .BR \-c ", " \-\-config= -Specify the config file or directory. Default is to use -.B {CONFFILE} -and -.BR {CONFFILE}.d , -or if those are missing then -.B {CONFFILE2} -and -.BR {CONFFILE2}.d . +Specify the config file or directory. If not specified, default config file +and default conf.d directory will be used. See +.BR mdadm.conf (5) +for more details. + If the config file given is .B "partitions" then nothing will be read, but @@ -2013,11 +2010,9 @@ The config file is only used if explicitly named with .B \-\-config or requested with (a possibly implicit) .BR \-\-scan . -In the later case, -.B {CONFFILE} -or -.B {CONFFILE2} -is used. +In the later case, default config file is used. See +.BR mdadm.conf (5) +for more details. If .B \-\-scan @@ -3346,16 +3341,15 @@ on Monitor mode. .SS {CONFFILE} (or {CONFFILE2}) -The config file lists which devices may be scanned to see if -they contain MD super block, and gives identifying information -(e.g. UUID) about known MD arrays. See +Default config file. See .BR mdadm.conf (5) for more details. .SS {CONFFILE}.d (or {CONFFILE2}.d) -A directory containing configuration files which are read in lexical -order. +Default directory containing configuration files. See +.BR mdadm.conf (5) +for more details. .SS {MAP_PATH} When diff --git a/mdadm.conf.5.in b/mdadm.conf.5.in index 83edd00..dd331a6 100644 --- a/mdadm.conf.5.in +++ b/mdadm.conf.5.in @@ -88,7 +88,8 @@ but only the major and minor device numbers. It scans .I /dev to find the name that matches the numbers. -If no DEVICE line is present, then "DEVICE partitions containers" is assumed. +If no DEVICE line is present in any config file, +then "DEVICE partitions containers" is assumed. For example: .IP @@ -272,6 +273,10 @@ catenated with spaces to form the address. Note that this value cannot be set via the .I mdadm commandline. It is only settable via the config file. +There should only be one +.B MAILADDR +line and it should have only one address. Any subsequent addresses +are silently ignored. .TP .B PROGRAM @@ -286,7 +291,8 @@ device. There should only be one .B program -line and it should be give only one program. +line and it should be given only one program. Any subsequent programs +are silently ignored. .TP @@ -295,7 +301,14 @@ The .B create line gives default values to be used when creating arrays, new members of arrays, and device entries for arrays. -These include: + +There should only be one +.B create +line. Any subsequent lines will override the previous settings. + +Keywords used in the +.I CREATE +line and supported values are: .RS 4 .TP @@ -475,8 +488,8 @@ The known metadata types are .B AUTO should be given at most once. Subsequent lines are silently ignored. -Thus an earlier config file in a config directory will over-ride -the setting in a later config file. +Thus a later config file in a config directory will not overwrite +the setting in an earlier config file. .TP .B POLICY @@ -594,6 +607,7 @@ The line lists custom values of MD device's sysfs attributes which will be stored in sysfs after the array is assembled. Multiple lines are allowed and each line has to contain the uuid or the name of the device to which it relates. +Lines are applied in reverse order. .RS 4 .TP .B uuid= @@ -621,7 +635,46 @@ is running in .B \-\-monitor mode. .B \-d/\-\-delay -command line argument takes precedence over the config file +command line argument takes precedence over the config file. + +If multiple +.B MINITORDELAY +lines are provided, only first non-zero value is considered. + +.SH FILES + +.SS {CONFFILE} + +The default config file location, used when +.I mdadm +is running without --config option. + +.SS {CONFFILE}.d + +The default directory with config files. Used when +.I mdadm +is running without --config option, after successful reading of the +.B {CONFFILE} +default config file. Files in that directory +are read in lexical order. + + +.SS {CONFFILE2} + +Alternative config file that is read, when +.I mdadm +is running without --config option and the +.B {CONFFILE} +default config file was not opened successfully. + +.SS {CONFFILE2}.d + +The alternative directory with config files. Used when +.I mdadm +is runninng without --config option, after reading the +.B {CONFFILE2} +alternative config file whether it was successful or not. Files in +that directory are read in lexical order. .SH EXAMPLE DEVICE /dev/sd[bcdjkl]1 -- 2.35.3