.\" -*- nroff -*-
-.TH MDADM 8 "" v1.8.0
+.TH MDADM 8 "" v2.0-devel-1
.SH NAME
mdadm \- manage MD devices
.I aka
.TP
.B Build
-Build a legacy array without per-device superblocks.
+Build an array without per-device superblocks.
.TP
.B Create
.BR -G ", " --grow
Change the size or shape of an active array.
+.TP
+.BR -X ", " --examine-bitmap
+Report information about a bitmap file.
+
.TP
.BR -h ", " --help
Display help message or, after above option, mode specific help
.TP
.BR -v ", " --verbose
-Be more verbose about what is happening.
+Be more verbose about what is happening. This can be used twice to be
+extra-verbose.
+This currently only affects
+.B --detail --scan
+and
+.BR "--examine --scan" .
.TP
.BR -b ", " --brief
.B --detail
and
.BR --examine .
+Using
+.B --brief
+with
+.B --verbose
+gives an intermediate level of verbosity.
+
+.TP
+.BR -b ", " --bitmap=
+Give the name of a bitmap file to use with this array. Can be used
+with --create (file should not exist) or --assemble (file should
+exist).
+
+.TP
+.BR --bitmap-chunk=
+Set the Chunksize of the bitmap. Each bit corresponds to that many
+Kilobytes of storage. Default is 4.
+
.TP
.BR -f ", " --force
says to get a list of array devices from
.BR /proc/mdstat .
+.TP
+.B -e ", " --metadata=
+Declare the style of superblock (raid metadata) to be used. The
+default is 0.90 for --create, and to guess for other operations.
+
+Options are:
+.RS
+.IP "0, 0.90, default"
+Use the original 0.90 format superblock. This format limits arrays to
+28 componenet devices and limits component devices of levels 1 and
+greater to 2 terabytes.
+.IP "1, 1.0, 1.1, 1.2"
+Use the new version-1 format superblock. This has few restrictions.
+The different subversion store the superblock at different locations
+on the device, either at the end (for 1.0), at the start (for 1.1) or
+4K from the start (for 1.2).
+.RE
+
.SH For create or build:
.TP
.BR --layout=
same as --parity
+.TP
+.BR -b ", " --bitmap=
+Specify a file to store a write-intent bitmap in. The file should not
+exist unless --force is also given. The same file should be provided
+when assembling the array.
+
+.TP
+.BR --bitmap-chunk=
+Specifty the chunksize for the bitmap.
+
.TP
.BR -n ", " --raid-devices=
Specify the number of active devices in the array. This, plus the
than the currently active drives, the extra space can be accessed
using
.BR --grow .
+The size can be given as
+.B max
+which means to choose the largest size that fits all on all current drives.
.TP
.BR --assume-clean
.TP
.BR -a ", " "--auto{=no,yes,md,mdp,part,p}{NN}"
-Instruct mdadm to create the device file if needed, and to allocate
-an unused minor number. "yes" or "md" causes a non-partitionable array
+Instruct mdadm to create the device file if needed, possibly allocating
+an unused minor number. "md" causes a non-partitionable array
to be used. "mdp", "part" or "p" causes a partitionable array (2.6 and
-later) to be used. The argumentment can also come immediately after
+later) to be used. "yes" requires the named md device to have a
+'standard' format, and the type and minor number will be determined
+from this. See DEVICE NAMES below.
+
+The argumentment can also come immediately after
"-a". e.g. "-ap".
+If
+.I --scan
+is also given, then any
+.I auto=
+entries in the config file will over-ride the
+.I --auto
+instruction given on the command line.
+
For partitionable arrays,
.I mdadm
will create the device file for the whole array and for the first 4
partitions. A different number of partitions can be specified at the
end of this option (e.g.
.BR --auto=p7 ).
-If the device name ends with a digit, the partition names add an
-underscore, a 'p', and a number, e.g. "/dev/home1_p3". If there is no
+If the device name ends with a digit, the partition names add a'p',
+and a number, e.g. "/dev/home1p3". If there is no
trailing digit, then the partition names just have a number added,
e.g. "/dev/scratch3".
+If the md device name is in a 'standard' format as described in DEVICE
+NAMES, then it will be created, if necessary, with the appropriate
+number based on that name. If the device name is not in one of these
+formats, then a unused minor number will be allocted. The minor
+number will be considered unused if there is no active array for that
+number, and there is no entry in /dev for that number and with a
+non-standard name.
+
.SH For assemble:
.TP
.BR -a ", " "--auto{=no,yes,md,mdp,part}"
See this option under Create and Build options.
+.TP
+.BR -b ", " --bitmap=
+Specify the bitmap file that was given when the array was created.
+
.TP
.BR -U ", " --update=
Update the superblock on each device while assembling the array. The
An md array which previously was configured appears to no longer be
configured.
+If
+.I mdadm
+was told to monitor an array which is RAID0 or Linear, then it will
+report
+.B DeviceDisappeared
+with the extra information
+.BR Wrong-Level .
+This is because RAID0 and Linear do not support the device-failed,
+hot-spare and resync operations which are monitored.
+
.TP
.B RebuildStarted
An md array started reconstruction.
.B spare-group
to another to allow a failed drive to be replaced.
+.TP
+.B SparesMissing
+If
+.I mdadm
+has been told, via the config file, that an array should have a certain
+number of spare devices, and
+.I mdadm
+detects that it has fewer that this number when it first sees the
+array, it will report a
+.B SparesMissing
+message.
+
.TP
.B TestMessage
An array was found at startup, and the
.B " mdadm --stop --scan"
.br
This will shut down all array that can be shut down (i.e. are not
-currently in used). This will typically going in a system shutdown script.
+currently in use). This will typically go in a system shutdown script.
.B " mdadm --follow --scan --delay=120"
.br
.BR mdadm.conf (5)
for more details.
+.SH DEVICE NAMES
+
+While entries in the /dev directory can have any format you like,
+.I mdadm
+has an understanding of 'standard' formats which it uses to guide its
+behaviour when creating device files via the
+.I --auto
+option.
+
+The standard names for non-partitioned arrays (the only sort of md
+array available in 2.4 and earlier) either of
+.IP
+/dev/mdNN
+.br
+/dev/md/NN
+.PP
+where NN is a number.
+The standard names for partitionable arrays (as available from 2.6
+onwards) is one of
+.IP
+/dev/md/dNN
+.br
+/dev/md_dNN
+.PP
+Partition numbers should be indicated by added "pMM" to these, thus "/dev/md/d1p2".
.SH NOTE
.B mdadm