Allow default metadata to be specified in mdadm.conf

CREATE metadata=1
in mdadm.conf will cause version-1 superblocks to be the default.

Signed-off-by: Neil Brown <neilb@suse.de>
This commit is contained in:
Neil Brown 2006-06-02 05:33:40 +00:00
parent 1d1e104b0d
commit 058574b1da
4 changed files with 40 additions and 1 deletions

View File

@ -214,6 +214,11 @@ int Create(struct supertype *st, char *mddev, int mdfd,
ldsize = dsize;
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

View File

@ -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);

View File

@ -126,6 +126,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
@ -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

View File

@ -116,6 +116,7 @@ struct createinfo {
int gid;
int autof;
int mode;
struct supertype *supertype;
};
#define Name "mdadm"