summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Create.c5
-rw-r--r--config.c10
-rw-r--r--mdadm.conf.525
-rw-r--r--mdadm.h1
4 files changed, 40 insertions, 1 deletions
diff --git a/Create.c b/Create.c
index b07e044..8149d27 100644
--- a/Create.c
+++ b/Create.c
@@ -215,6 +215,11 @@ int Create(struct supertype *st, char *mddev, int mdfd,
ldsize <<= 9;
}
if (st == NULL) {
+ struct createinfo *ci = conf_get_create_info(NULL);
+ if (ci)
+ st = ci->supertype;
+ }
+ if (st == NULL) {
/* Need to choose a default metadata, which is different
* depending on the sizes of devices
*/
diff --git a/config.c b/config.c
index 5accf15..20dc725 100644
--- a/config.c
+++ b/config.c
@@ -354,6 +354,16 @@ static void createline(char *line)
fprintf(stderr, Name ": unrecognised CREATE mode %s\n",
w+5);
}
+ } else if (strncasecmp(w, "metadata=", 9) == 0) {
+ /* style of metadata to use by default */
+ int i;
+ for (i=0; superlist[i] && !createinfo.supertype; i++)
+ createinfo.supertype =
+ superlist[i]->match_metadata_desc(w+9);
+ if (!createinfo.supertype)
+ fprintf(stderr, Name ": metadata format %s unknown, ignoring\n",
+ w+9);
+
} else {
fprintf(stderr, Name ": unrecognised word on CREATE line: %s\n",
w);
diff --git a/mdadm.conf.5 b/mdadm.conf.5
index b9beffa..6ae6802 100644
--- a/mdadm.conf.5
+++ b/mdadm.conf.5
@@ -127,6 +127,17 @@ this is mainly for compatibility with the output of
.BR "mdadm --examine --scan" .
.TP
+.B spares=
+The value is a number of spare devices to expect the array to have.
+.I mdadm --monitor
+will report an array if it is found to have fewer than this number of
+spares when
+.B --monitor
+starts or when
+.B --oneshot
+is used.
+
+.TP
.B spare-group=
The value is a textual name for a group of arrays. All arrays with
the same
@@ -165,6 +176,13 @@ driver as the bitmap file. This has the same function as the
.B --bitmap-file
option to
.BR --assemble .
+
+.TP
+.B metadata=
+Specify the metadata format that the array has. This is mainly
+recognised for comparability with the output of
+.IR "mdadm -Es" .
+
.RE
.TP
@@ -217,7 +235,7 @@ line and it should be give only one program.
.B CREATE
The
.B create
-line gives default values to be used when creating device entries for
+line gives default values to be used when creating arrays and device entries for
arrays.
These include:
@@ -244,6 +262,11 @@ flag to mdadm. Give
- possibly followed by a number of partitions - to indicate how
missing device entries should be created.
+.TP
+.B metadata=
+The name of the metadata format to use if none is explicitly given.
+This can be useful to impose a system-wide default of version-1 superblocks.
+
.RE
diff --git a/mdadm.h b/mdadm.h
index b7ae967..445af32 100644
--- a/mdadm.h
+++ b/mdadm.h
@@ -116,6 +116,7 @@ struct createinfo {
int gid;
int autof;
int mode;
+ struct supertype *supertype;
};
#define Name "mdadm"