summaryrefslogtreecommitdiff
path: root/debian/patches
diff options
context:
space:
mode:
authormadduck <madduck@3cfab66f-1918-0410-86b3-c06b76f9a464>2007-03-13 18:27:53 +0000
committermadduck <madduck@3cfab66f-1918-0410-86b3-c06b76f9a464>2007-03-13 18:27:53 +0000
commit77f9e8035fd00c4f5ab8110251b8164ff1aee93f (patch)
treed50a7c500bdbc16a0ab4035c8c16e3501f361a28 /debian/patches
parent89c9627f9dce1c3bc3496d7db6100c8733d263ad (diff)
* Incorporate patches by Peter Samuelson fixing several typography as well
as typesetting issues in the manpages. Thanks a lot! (closes: #414688)
Diffstat (limited to 'debian/patches')
-rwxr-xr-xdebian/patches/91-manpages-no-hyphenate-FIXES.dpatch100
-rwxr-xr-xdebian/patches/92-manpages-emdash-FIX.dpatch79
-rwxr-xr-xdebian/patches/93-manpages-bold-FIXES.dpatch2381
-rwxr-xr-xdebian/patches/94-manpages-hyphens-FIXES.dpatch3254
4 files changed, 5814 insertions, 0 deletions
diff --git a/debian/patches/91-manpages-no-hyphenate-FIXES.dpatch b/debian/patches/91-manpages-no-hyphenate-FIXES.dpatch
new file mode 100755
index 00000000..2637a9f8
--- /dev/null
+++ b/debian/patches/91-manpages-no-hyphenate-FIXES.dpatch
@@ -0,0 +1,100 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 91-manpages-no-hyphenate-FIXES.dpatch by martin f. krafft <madduck@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad mdadm-2.6.1~/md.4 mdadm-2.6.1/md.4
+--- mdadm-2.6.1~/md.4 2006-10-09 03:16:22.000000000 +0200
++++ mdadm-2.6.1/md.4 2007-03-13 19:20:40.000000000 +0100
+@@ -326,7 +326,7 @@
+ .B does not
+ alert the operator to this condition. The 2.6 md driver will fail to
+ start an array in this condition without manual intervention, though
+-this behaviour can be over-ridden by a kernel parameter.
++this behaviour can be overridden by a kernel parameter.
+
+ .SS RECOVERY
+
+@@ -427,7 +427,7 @@
+ devices. Other possibilities may follow in future kernels.
+
+ During any stripe process there is a 'critical section' during which
+-live data is being over-written on disk. For the operation of
++live data is being overwritten on disk. For the operation of
+ increasing the number of drives in a raid5, this critical section
+ covers the first few stripes (the number being the product of the old
+ and new number of devices). After this critical section is passed,
+diff -urNad mdadm-2.6.1~/mdadm.8 mdadm-2.6.1/mdadm.8
+--- mdadm-2.6.1~/mdadm.8 2007-02-22 05:00:15.000000000 +0100
++++ mdadm-2.6.1/mdadm.8 2007-03-13 19:20:40.000000000 +0100
+@@ -18,7 +18,7 @@
+ .SH DESCRIPTION
+ RAID devices are virtual devices created from two or more
+ real block devices. This allows multiple devices (typically disk
+-drives or partitions there-of) to be combined into a single device to
++drives or partitions thereof) to be combined into a single device to
+ hold (for example) a single filesystem.
+ Some RAID levels include redundancy and so can survive some degree of
+ device failure.
+@@ -310,7 +310,7 @@
+
+ .TP
+ .B --homehost=
+-This will over-ride any
++This will override any
+ .B HOMEHOST
+ setting in the config file and provides the identify of the host which
+ should be considered the home for any arrays.
+@@ -597,7 +597,7 @@
+ .I --scan
+ is also given, then any
+ .I auto=
+-entries in the config file will over-ride the
++entries in the config file will override the
+ .I --auto
+ instruction given on the command line.
+
+@@ -934,9 +934,9 @@
+ .TP
+ .B --zero-superblock
+ If the device contains a valid md superblock, the block is
+-over-written with zeros. With
++overwritten with zeros. With
+ --force
+-the block where the superblock would be is over-written even if it
++the block where the superblock would be is overwritten even if it
+ doesn't appear to be valid.
+
+ .TP
+@@ -1279,7 +1279,7 @@
+ will automatically create a degraded array with an extra spare drive.
+ This is because building the spare into a degraded array is in general faster than resyncing
+ the parity on a non-degraded, but not clean, array. This feature can
+-be over-ridden with the
++be overridden with the
+ .I --force
+ option.
+
+diff -urNad mdadm-2.6.1~/mdadm.conf.5 mdadm-2.6.1/mdadm.conf.5
+--- mdadm-2.6.1~/mdadm.conf.5 2006-08-11 10:00:03.000000000 +0200
++++ mdadm-2.6.1/mdadm.conf.5 2007-03-13 19:20:40.000000000 +0100
+@@ -59,7 +59,7 @@
+ .I mdadm
+ to read
+ .I /proc/partitions
+-and include all devices and partitions found there-in.
++and include all devices and partitions found therein.
+ .I mdadm
+ does not use the names from
+ .I /proc/partitions
+@@ -103,7 +103,7 @@
+ .I mdadm
+ when the array was created. This must match the name stored in the
+ superblock on a device for that device to be included in the array.
+-Not all superblock-formats support names.
++Not all superblock formats support names.
+ .TP
+ .B super-minor=
+ The value is an integer which indicates the minor number that was
diff --git a/debian/patches/92-manpages-emdash-FIX.dpatch b/debian/patches/92-manpages-emdash-FIX.dpatch
new file mode 100755
index 00000000..009bfbe4
--- /dev/null
+++ b/debian/patches/92-manpages-emdash-FIX.dpatch
@@ -0,0 +1,79 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 92-manpages-emdash-FIX.dpatch by martin f. krafft <madduck@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad mdadm-2.6.1~/md.4 mdadm-2.6.1/md.4
+--- mdadm-2.6.1~/md.4 2006-10-09 03:16:22.000000000 +0200
++++ mdadm-2.6.1/md.4 2007-03-13 19:20:52.000000000 +0100
+@@ -49,7 +49,7 @@
+ other formats can be added. Prior to this release, only one format is
+ supported.
+
+-The common format - known as version 0.90 - has
++The common format \(em known as version 0.90 \(em has
+ a superblock that is 4K long and is written into a 64K aligned block that
+ starts at least 64K and less than 128K from the end of the device
+ (i.e. to get the address of the superblock round the size of the
+@@ -61,7 +61,7 @@
+ manner, so arrays cannot easily be moved between computers with
+ different processors.
+
+-The new format - known as version 1 - has a superblock that is
++The new format \(em known as version 1 \(em has a superblock that is
+ normally 1K long, but can be longer. It is normally stored between 8K
+ and 12K from the end of the device, on a 4K boundary, though
+ variations can be stored at the start of the device (version 1.1) or 4K from
+@@ -432,7 +432,7 @@
+ covers the first few stripes (the number being the product of the old
+ and new number of devices). After this critical section is passed,
+ data is only written to areas of the array which no longer hold live
+-data - the live data has already been located away.
++data \(em the live data has already been located away.
+
+ md is not able to ensure data preservation if there is a crash
+ (e.g. power failure) during the critical section. If md is asked to
+diff -urNad mdadm-2.6.1~/mdadm.8 mdadm-2.6.1/mdadm.8
+--- mdadm-2.6.1~/mdadm.8 2007-02-22 05:00:15.000000000 +0100
++++ mdadm-2.6.1/mdadm.8 2007-03-13 19:20:52.000000000 +0100
+@@ -536,7 +536,7 @@
+ when trying to recover from a major failure as you can be sure that no
+ data will be affected unless you actually write to the array. It can
+ also be used when creating a RAID1 or RAID10 if you want to avoid the
+-initial resync, however this practice - while normally safe - is not
++initial resync, however this practice \(em while normally safe \(em is not
+ recommended. Use this ony if you really know what you are doing.
+
+ .TP
+@@ -1121,7 +1121,7 @@
+ created.
+
+ This can be useful for handling partitioned devices (which don't have
+-a stable device number - it can change after a reboot) and when using
++a stable device number \(em it can change after a reboot) and when using
+ "udev" to manage your
+ .B /dev
+ tree (udev cannot handle md devices because of the unusual device
+@@ -1328,7 +1328,7 @@
+
+ .TP
+ .B --readonly
+-start the array readonly - not supported yet.
++start the array readonly \(em not supported yet.
+
+
+ .SH MANAGE MODE
+diff -urNad mdadm-2.6.1~/mdadm.conf.5 mdadm-2.6.1/mdadm.conf.5
+--- mdadm-2.6.1~/mdadm.conf.5 2006-08-11 10:00:03.000000000 +0200
++++ mdadm-2.6.1/mdadm.conf.5 2007-03-13 19:20:52.000000000 +0100
+@@ -265,7 +265,7 @@
+ .BR md ,
+ .BR mdp ,
+ .B part
+-- possibly followed by a number of partitions - to indicate how
++\(em possibly followed by a number of partitions \(em to indicate how
+ missing device entries should be created.
+
+ .TP
diff --git a/debian/patches/93-manpages-bold-FIXES.dpatch b/debian/patches/93-manpages-bold-FIXES.dpatch
new file mode 100755
index 00000000..e65a0c30
--- /dev/null
+++ b/debian/patches/93-manpages-bold-FIXES.dpatch
@@ -0,0 +1,2381 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 93-manpages-bold-FIXES.dpatch by martin f. krafft <madduck@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad mdadm-2.6.1~/mdadm.8 mdadm-2.6.1/mdadm.8
+--- mdadm-2.6.1~/mdadm.8 2007-03-13 19:22:34.000000000 +0100
++++ mdadm-2.6.1/mdadm.8 2007-03-13 19:23:58.000000000 +0100
+@@ -287,7 +287,9 @@
+ .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.
++default is 0.90 for
++.BR --create ,
++and to guess for other operations.
+ The default can be overridden by setting the
+ .B metadata
+ value for the
+@@ -389,16 +391,16 @@
+ .TP
+ .BR -l ", " --level=
+ Set raid level. When used with
+-.IR --create ,
++.BR --create ,
+ options are: linear, raid0, 0, stripe, raid1, 1, mirror, raid4, 4,
+ raid5, 5, raid6, 6, raid10, 10, multipath, mp, faulty. Obviously some of these are synonymous.
+
+ When used with
+-.IR --build ,
++.BR --build ,
+ only linear, stripe, raid0, 0, raid1, multipath, mp, and faulty are valid.
+
+ Not yet supported with
+-.IR --grow .
++.BR --grow .
+
+ .TP
+ .BR -p ", " --layout=
+@@ -407,29 +409,24 @@
+ .IR faulty .
+
+ The layout of the raid5 parity block can be one of
+-left-asymmetric,
+-left-symmetric,
+-right-asymmetric,
+-right-symmetric,
+-la, ra, ls, rs. The default is left-symmetric.
++.BR left-asymmetric ,
++.BR left-symmetric ,
++.BR right-asymmetric ,
++.BR right-symmetric ,
++.BR la ", " ra ", " ls ", " rs .
++The default is
++.BR left-symmetric .
+
+ When setting the failure mode for
+ .I faulty
+ the options are:
+-write-transient,
+-wt,
+-read-transient,
+-rt,
+-write-persistent,
+-wp,
+-read-persistent,
+-rp,
+-write-all,
+-read-fixable,
+-rf,
+-clear,
+-flush,
+-none.
++.BR write-transient ", " wt ,
++.BR read-transient ", " rt ,
++.BR write-persistent ", " wp ,
++.BR read-persistent ", " rp ,
++.BR write-all ,
++.BR read-fixable ", " rf ,
++.BR clear ", " flush ", " none .
+
+ Each mode can be followed by a number which is used as a period
+ between fault generation. Without a number, the fault is generated
+@@ -438,12 +435,15 @@
+ every time the period elapses.
+
+ Multiple failure modes can be current simultaneously by using the
+-"--grow" option to set subsequent failure modes.
++.B --grow
++option to set subsequent failure modes.
+
+ "clear" or "none" will remove any pending or periodic failure modes,
+ and "flush" will clear any persistent faults.
+
+-To set the parity with "--grow", the level of the array ("faulty")
++To set the parity with
++.BR --grow ,
++the level of the array ("faulty")
+ must be specified before the fault mode is specified.
+
+ Finally, the layout options for RAID10 are one of 'n', 'o' or 'p' followed
+@@ -473,13 +473,17 @@
+
+ .TP
+ .BR --parity=
+-same as --layout (thus explaining the p of
+-.IR -p ).
++same as
++.B --layout
++(thus explaining the p of
++.BR -p ).
+
+ .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
++exist unless
++.B --force
++is also given. The same file should be provided
+ when assembling the array. If the word
+ .B internal
+ is given, then the bitmap is stored with the metadata on the array,
+@@ -541,7 +545,9 @@
+
+ .TP
+ .BR --backup-file=
+-This is needed when --grow is used to increase the number of
++This is needed when
++.B --grow
++is used to increase the number of
+ raid-devices in a RAID5 if there are no spare devices available.
+ See the section below on RAID_DEVICE CHANGES. The file should be
+ stored on a separate device, not on the raid array being reshaped.
+@@ -589,16 +595,18 @@
+ The argument can also come immediately after
+ "-a". e.g. "-ap".
+
+-If --auto is not given on the command line or in the config file, then
++If
++.B --auto
++is not given on the command line or in the config file, then
+ the default will be
+ .BR --auto=yes .
+
+ If
+-.I --scan
++.B --scan
+ is also given, then any
+ .I auto=
+ entries in the config file will override the
+-.I --auto
++.B --auto
+ instruction given on the command line.
+
+ For partitionable arrays,
+@@ -718,8 +726,9 @@
+ was used to grow the number of raid-devices in a RAID5, and the system
+ crashed during the critical section, then the same
+ .B --backup-file
+-must be presented to --assemble to allow possibly corrupted data to be
+-restored.
++must be presented to
++.B --assemble
++to allow possibly corrupted data to be restored.
+
+ .TP
+ .BR -U ", " --update=
+@@ -764,10 +773,13 @@
+ The
+ .B uuid
+ option will change the uuid of the array. If a UUID is given with the
+-"--uuid" option that UUID will be used as a new UUID and will
++.B --uuid
++option that UUID will be used as a new UUID and will
+ .B NOT
+ be used to help identify the devices in the array.
+-If no "--uuid" is given, a random uuid is chosen.
++If no
++.B --uuid
++is given, a random UUID is chosen.
+
+ The
+ .B name
+@@ -855,7 +867,8 @@
+
+ .TP
+ .BR --set-faulty
+-same as --fail.
++same as
++.BR --fail .
+
+ .P
+ Each of these options require that the first device list is the array
+@@ -875,7 +888,7 @@
+ (superblocks) this is done automatically. For arrays created with
+ .B --build
+ mdadm needs to be told that this device we removed recently with
+-.B --re-add.
++.BR --re-add .
+
+ Devices can only be removed from an array if they are not in active
+ use. i.e. that must be spares or failed devices. To remove an active
+@@ -935,7 +948,7 @@
+ .B --zero-superblock
+ If the device contains a valid md superblock, the block is
+ overwritten with zeros. With
+---force
++.B --force
+ the block where the superblock would be is overwritten even if it
+ doesn't appear to be valid.
+
+@@ -1095,7 +1108,7 @@
+ The config file is only used if explicitly named with
+ .B --config
+ or requested with (a possibly implicit)
+-.B --scan.
++.BR --scan .
+ In the later case,
+ .B /etc/mdadm/mdadm.conf
+ is used.
+@@ -1116,7 +1129,7 @@
+
+ If the md device does not exist, then it will be created providing the
+ intent is clear. i.e. the name must be in a standard form, or the
+-.I --auto
++.B --auto
+ option must be given to clarify how and whether the device should be
+ created.
+
+@@ -1199,7 +1212,7 @@
+ .I mdadm
+ will search again for any array (not just an array created for this
+ host) and will assemble each assuming
+-.IR --update=homehost .
++.BR --update=homehost .
+ This will change the host tag in the superblock so that on the next run,
+ these arrays will be found without the second pass. The intention of
+ this feature is to support transitioning a set of md arrays to using
+@@ -1280,7 +1293,7 @@
+ This is because building the spare into a degraded array is in general faster than resyncing
+ the parity on a non-degraded, but not clean, array. This feature can
+ be overridden with the
+-.I --force
++.B --force
+ option.
+
+ When creating an array with version-1 metadata a name for the host is
+@@ -1320,7 +1333,9 @@
+ '''.B --size
+ '''is given, the apparent size of the smallest drive given is used.
+
+-The General Management options that are valid with --create are:
++The General Management options that are valid with
++.B --create
++are:
+ .TP
+ .B --run
+ insist on running the array even if some devices look like they might
+@@ -1993,7 +2008,7 @@
+
+ .SS /var/run/mdadm/map
+ When
+-.I --incremental
++.B --incremental
+ mode is used. this file gets a list of arrays currently being created.
+ If
+ .B /var/run/mdadm
+@@ -2007,7 +2022,7 @@
+ .I mdadm
+ has an understanding of 'standard' formats which it uses to guide its
+ behaviour when creating device files via the
+-.I --auto
++.B --auto
+ option.
+
+ The standard names for non-partitioned arrays (the only sort of md
+diff -urNad mdadm-2.6.1~/mdadm.8.orig mdadm-2.6.1/mdadm.8.orig
+--- mdadm-2.6.1~/mdadm.8.orig 1970-01-01 01:00:00.000000000 +0100
++++ mdadm-2.6.1/mdadm.8.orig 2007-03-13 19:22:34.000000000 +0100
+@@ -0,0 +1,2078 @@
++.\" -*- nroff -*-
++''' Copyright Neil Brown and others.
++''' This program is free software; you can redistribute it and/or modify
++''' it under the terms of the GNU General Public License as published by
++''' the Free Software Foundation; either version 2 of the License, or
++''' (at your option) any later version.
++''' See file COPYING in distribution for details.
++.TH MDADM 8 "" v2.6.1
++.SH NAME
++mdadm \- manage MD devices
++.I aka
++Linux Software Raid.
++
++.SH SYNOPSIS
++
++.BI mdadm " [mode] <raiddevice> [options] <component-devices>"
++
++.SH DESCRIPTION
++RAID devices are virtual devices created from two or more
++real block devices. This allows multiple devices (typically disk
++drives or partitions thereof) to be combined into a single device to
++hold (for example) a single filesystem.
++Some RAID levels include redundancy and so can survive some degree of
++device failure.
++
++Linux Software RAID devices are implemented through the md (Multiple
++Devices) device driver.
++
++Currently, Linux supports
++.B LINEAR
++md devices,
++.B RAID0
++(striping),
++.B RAID1
++(mirroring),
++.BR RAID4 ,
++.BR RAID5 ,
++.BR RAID6 ,
++.BR RAID10 ,
++.BR MULTIPATH ,
++and
++.BR FAULTY .
++
++.B MULTIPATH
++is not a Software RAID mechanism, but does involve
++multiple devices. For
++.B MULTIPATH
++each device is a path to one common physical storage device.
++
++.B FAULTY
++is also not true RAID, and it only involves one device. It
++provides a layer over a true device that can be used to inject faults.
++
++'''.B mdadm
++'''is a program that can be used to create, manage, and monitor
++'''MD devices. As
++'''such it provides a similar set of functionality to the
++'''.B raidtools
++'''packages.
++'''The key differences between
++'''.B mdadm
++'''and
++'''.B raidtools
++'''are:
++'''.IP \(bu 4
++'''.B mdadm
++'''is a single program and not a collection of programs.
++'''.IP \(bu 4
++'''.B mdadm
++'''can perform (almost) all of its functions without having a
++'''configuration file and does not use one by default. Also
++'''.B mdadm
++'''helps with management of the configuration
++'''file.
++'''.IP \(bu 4
++'''.B mdadm
++'''can provide information about your arrays (through Query, Detail, and Examine)
++'''that
++'''.B raidtools
++'''cannot.
++'''.P
++'''.I mdadm
++'''does not use
++'''.IR /etc/raidtab ,
++'''the
++'''.B raidtools
++'''configuration file, at all. It has a different configuration file
++'''with a different format and a different purpose.
++
++.SH MODES
++mdadm has several major modes of operation:
++.TP
++.B Assemble
++Assemble the parts of a previously created
++array into an active array. Components can be explicitly given
++or can be searched for.
++.B mdadm
++checks that the components
++do form a bona fide array, and can, on request, fiddle superblock
++information so as to assemble a faulty array.
++
++.TP
++.B Build
++Build an array that doesn't have per-device superblocks. For these
++sorts of arrays,
++.I mdadm
++cannot differentiate between initial creation and subsequent assembly
++of an array. It also cannot perform any checks that appropriate
++devices have been requested. Because of this, the
++.B Build
++mode should only be used together with a complete understanding of
++what you are doing.
++
++.TP
++.B Create
++Create a new array with per-device superblocks.
++'''It can progress
++'''in several step create-add-add-run or it can all happen with one command.
++
++.TP
++.B "Follow or Monitor"
++Monitor one or more md devices and act on any state changes. This is
++only meaningful for raid1, 4, 5, 6, 10 or multipath arrays as
++only these have interesting state. raid0 or linear never have
++missing, spare, or failed drives, so there is nothing to monitor.
++
++.TP
++.B "Grow"
++Grow (or shrink) an array, or otherwise reshape it in some way.
++Currently supported growth options including changing the active size
++of component devices in RAID level 1/4/5/6 and changing the number of
++active devices in RAID1/5/6.
++
++.TP
++.B "Incremental Assembly"
++Add a single device to an appropriate array. If the addition of the
++device makes the array runnable, the array will be started.
++This provides a convenient interface to a
++.I hot-plug
++system. As each device is detected,
++.I mdadm
++has a chance to include it in some array as appropriate.
++
++.TP
++.B Manage
++This is for doing things to specific components of an array such as
++adding new spares and removing faulty devices.
++
++.TP
++.B Misc
++This is an 'everything else' mode that supports operations on active
++arrays, operations on component devices such as erasing old superblocks, and
++information gathering operations.
++'''This mode allows operations on independent devices such as examine MD
++'''superblocks, erasing old superblocks and stopping active arrays.
++
++.SH OPTIONS
++
++.SH Options for selecting a mode are:
++
++.TP
++.BR -A ", " --assemble
++Assemble a pre-existing array.
++
++.TP
++.BR -B ", " --build
++Build a legacy array without superblocks.
++
++.TP
++.BR -C ", " --create
++Create a new array.
++
++.TP
++.BR -F ", " --follow ", " --monitor
++Select
++.B Monitor
++mode.
++
++.TP
++.BR -G ", " --grow
++Change the size or shape of an active array.
++
++.TP
++.BE -I ", " --incremental
++Add a single device into an appropriate array, and possibly start the array.
++
++.P
++If a device is given before any options, or if the first option is
++.BR --add ,
++.BR --fail ,
++or
++.BR --remove ,
++then the MANAGE mode is assume.
++Anything other than these will cause the
++.B Misc
++mode to be assumed.
++
++.SH Options that are not mode-specific are:
++
++.TP
++.BR -h ", " --help
++Display general help message or, after one of the above options, a
++mode specific help message.
++
++.TP
++.B --help-options
++Display more detailed help about command line parsing and some commonly
++used options.
++
++.TP
++.BR -V ", " --version
++Print version information for mdadm.
++
++.TP
++.BR -v ", " --verbose
++Be more verbose about what is happening. This can be used twice to be
++extra-verbose.
++The extra verbosity currently only affects
++.B --detail --scan
++and
++.BR "--examine --scan" .
++
++.TP
++.BR -q ", " --quiet
++Avoid printing purely informative messages. With this,
++.B mdadm
++will be silent unless there is something really important to report.
++
++.TP
++.BR -b ", " --brief
++Be less verbose. This is used with
++.B --detail
++and
++.BR --examine .
++Using
++.B --brief
++with
++.B --verbose
++gives an intermediate level of verbosity.
++
++.TP
++.BR -f ", " --force
++Be more forceful about certain operations. See the various modes of
++the exact meaning of this option in different contexts.
++
++.TP
++.BR -c ", " --config=
++Specify the config file. Default is to use
++.BR /etc/mdadm/mdadm.conf ,
++or if that is missing, then
++.BR /etc/mdadm.conf .
++If the config file given is
++.B partitions
++then nothing will be read, but
++.I mdadm
++will act as though the config file contained exactly
++.B "DEVICE partitions"
++and will read
++.B /proc/partitions
++to find a list of devices to scan.
++If the word
++.B none
++is given for the config file, then
++.I mdadm
++will act as though the config file were empty.
++
++.TP
++.BR -s ", " --scan
++scan config file or
++.B /proc/mdstat
++for missing information.
++In general, this option gives
++.B mdadm
++permission to get any missing information, like component devices,
++array devices, array identities, and alert destination from the
++configuration file:
++.BR /etc/mdadm/mdadm.conf .
++One exception is MISC mode when using
++.B --detail
++or
++.B --stop
++in which case
++.B --scan
++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.
++The default can be overridden by setting the
++.B metadata
++value for the
++.B CREATE
++keyword in
++.BR mdadm.conf .
++
++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
++
++.TP
++.B --homehost=
++This will override any
++.B HOMEHOST
++setting in the config file and provides the identify of the host which
++should be considered the home for any arrays.
++
++When creating an array, the
++.B homehost
++will be recorded in the superblock. For version-1 superblocks, it will
++be prefixed to the array name. For version-0.90 superblocks part of
++the SHA1 hash of the hostname will be stored in the later half of the
++UUID.
++
++When reporting information about an array, any array which is tagged
++for the given homehost will be reported as such.
++
++When using Auto-Assemble, only arrays tagged for the given homehost
++will be assembled.
++
++.SH For create, build, or grow:
++
++.TP
++.BR -n ", " --raid-devices=
++Specify the number of active devices in the array. This, plus the
++number of spare devices (see below) must equal the number of
++.I component-devices
++(including "\fBmissing\fP" devices)
++that are listed on the command line for
++.BR --create .
++Setting a value of 1 is probably
++a mistake and so requires that
++.B --force
++be specified first. A value of 1 will then be allowed for linear,
++multipath, raid0 and raid1. It is never allowed for raid4 or raid5.
++.br
++This number can only be changed using
++.B --grow
++for RAID1, RAID5 and RAID6 arrays, and only on kernels which provide
++necessary support.
++
++.TP
++.BR -x ", " --spare-devices=
++Specify the number of spare (eXtra) devices in the initial array.
++Spares can also be added
++and removed later. The number of component devices listed
++on the command line must equal the number of raid devices plus the
++number of spare devices.
++
++
++.TP
++.BR -z ", " --size=
++Amount (in Kibibytes) of space to use from each drive in RAID1/4/5/6.
++This must be a multiple of the chunk size, and must leave about 128Kb
++of space at the end of the drive for the RAID superblock.
++If this is not specified
++(as it normally is not) the smallest drive (or partition) sets the
++size, though if there is a variance among the drives of greater than 1%, a warning is
++issued.
++
++This value can be set with
++.B --grow
++for RAID level 1/4/5/6. If the array was created with a size smaller
++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 on all current drives.
++
++.TP
++.BR -c ", " --chunk=
++Specify chunk size of kibibytes. The default is 64.
++
++.TP
++.BR --rounding=
++Specify rounding factor for linear array (==chunk size)
++
++.TP
++.BR -l ", " --level=
++Set raid level. When used with
++.IR --create ,
++options are: linear, raid0, 0, stripe, raid1, 1, mirror, raid4, 4,
++raid5, 5, raid6, 6, raid10, 10, multipath, mp, faulty. Obviously some of these are synonymous.
++
++When used with
++.IR --build ,
++only linear, stripe, raid0, 0, raid1, multipath, mp, and faulty are valid.
++
++Not yet supported with
++.IR --grow .
++
++.TP
++.BR -p ", " --layout=
++This option configures the fine details of data layout for raid5,
++and raid10 arrays, and controls the failure modes for
++.IR faulty .
++
++The layout of the raid5 parity block can be one of
++left-asymmetric,
++left-symmetric,
++right-asymmetric,
++right-symmetric,
++la, ra, ls, rs. The default is left-symmetric.
++
++When setting the failure mode for
++.I faulty
++the options are:
++write-transient,
++wt,
++read-transient,
++rt,
++write-persistent,
++wp,
++read-persistent,
++rp,
++write-all,
++read-fixable,
++rf,
++clear,
++flush,
++none.
++
++Each mode can be followed by a number which is used as a period
++between fault generation. Without a number, the fault is generated
++once on the first relevant request. With a number, the fault will be
++generated after that many request, and will continue to be generated
++every time the period elapses.
++
++Multiple failure modes can be current simultaneously by using the
++"--grow" option to set subsequent failure modes.
++
++"clear" or "none" will remove any pending or periodic failure modes,
++and "flush" will clear any persistent faults.
++
++To set the parity with "--grow", the level of the array ("faulty")
++must be specified before the fault mode is specified.
++
++Finally, the layout options for RAID10 are one of 'n', 'o' or 'p' followed
++by a small number. The default is 'n2'.
++
++.I n
++signals 'near' copies. Multiple copies of one data block are at
++similar offsets in different devices.
++
++.I o
++signals 'offset' copies. Rather than the chunks being duplicated
++within a stripe, whole stripes are duplicated but are rotated by one
++device so duplicate blocks are on different devices. Thus subsequent
++copies of a block are in the next drive, and are one chunk further
++down.
++
++.I f
++signals 'far' copies
++(multiple copies have very different offsets). See md(4) for more
++detail about 'near' and 'far'.
++
++The number is the number of copies of each datablock. 2 is normal, 3
++can be useful. This number can be at most equal to the number of
++devices in the array. It does not need to divide evenly into that
++number (e.g. it is perfectly legal to have an 'n2' layout for an array
++with an odd number of devices).
++
++.TP
++.BR --parity=
++same as --layout (thus explaining the p of
++.IR -p ).
++
++.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. If the word
++.B internal
++is given, then the bitmap is stored with the metadata on the array,
++and so is replicated on all devices. If the word
++.B none
++is given with
++.B --grow
++mode, then any bitmap that is present is removed.
++
++To help catch typing errors, the filename must contain at least one
++slash ('/') if it is a real file (not 'internal' or 'none').
++
++Note: external bitmaps are only known to work on ext2 and ext3.
++Storing bitmap files on other filesystems may result in serious problems.
++
++.TP
++.BR --bitmap-chunk=
++Set the chunksize of the bitmap. Each bit corresponds to that many
++Kilobytes of storage.
++When using a file based bitmap, the default is to use the smallest
++size that is atleast 4 and requires no more than 2^21 chunks.
++When using an
++.B internal
++bitmap, the chunksize is automatically determined to make best use of
++available space.
++
++
++.TP
++.BR -W ", " --write-mostly
++subsequent devices lists in a
++.BR --build ,
++.BR --create ,
++or
++.B --add
++command will be flagged as 'write-mostly'. This is valid for RAID1
++only and means that the 'md' driver will avoid reading from these
++devices if at all possible. This can be useful if mirroring over a
++slow link.
++
++.TP
++.BR --write-behind=
++Specify that write-behind mode should be enabled (valid for RAID1
++only). If an argument is specified, it will set the maximum number
++of outstanding writes allowed. The default value is 256.
++A write-intent bitmap is required in order to use write-behind
++mode, and write-behind is only attempted on drives marked as
++.IR write-mostly .
++
++.TP
++.BR --assume-clean
++Tell
++.I mdadm
++that the array pre-existed and is known to be clean. It can be useful
++when trying to recover from a major failure as you can be sure that no
++data will be affected unless you actually write to the array. It can
++also be used when creating a RAID1 or RAID10 if you want to avoid the
++initial resync, however this practice \(em while normally safe \(em is not
++recommended. Use this ony if you really know what you are doing.
++
++.TP
++.BR --backup-file=
++This is needed when --grow is used to increase the number of
++raid-devices in a RAID5 if there are no spare devices available.
++See the section below on RAID_DEVICE CHANGES. The file should be
++stored on a separate device, not on the raid array being reshaped.
++
++.TP
++.BR -N ", " --name=
++Set a
++.B name
++for the array. This is currently only effective when creating an
++array with a version-1 superblock. The name is a simple textual
++string that can be used to identify array components when assembling.
++
++.TP
++.BR -R ", " --run
++Insist that
++.I mdadm
++run the array, even if some of the components
++appear to be active in another array or filesystem. Normally
++.I mdadm
++will ask for confirmation before including such components in an
++array. This option causes that question to be suppressed.
++
++.TP
++.BR -f ", " --force
++Insist that
++.I mdadm
++accept the geometry and layout specified without question. Normally
++.I mdadm
++will not allow creation of an array with only one device, and will try
++to create a raid5 array with one missing drive (as this makes the
++initial resync work faster). With
++.BR --force ,
++.I mdadm
++will not try to be so clever.
++
++.TP
++.BR -a ", " "--auto{=no,yes,md,mdp,part,p}{NN}"
++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. "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 argument can also come immediately after
++"-a". e.g. "-ap".
++
++If --auto is not given on the command line or in the config file, then
++the default will be
++.BR --auto=yes .
++
++If
++.I --scan
++is also given, then any
++.I auto=
++entries in the config file will override 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 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 allocated. 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.
++
++.TP
++.BR --symlink = no
++Normally when
++.B --auto
++causes
++.I mdadm
++to create devices in
++.B /dev/md/
++it will also create symlinks from
++.B /dev/
++with names starting with
++.B md
++or
++.BR md_ .
++Use
++.B --symlink=no
++to suppress this, or
++.B --symlink=yes
++to enforce this even if it is suppressing
++.IR mdadm.conf .
++
++
++.SH For assemble:
++
++.TP
++.BR -u ", " --uuid=
++uuid of array to assemble. Devices which don't have this uuid are
++excluded
++
++.TP
++.BR -m ", " --super-minor=
++Minor number of device that array was created for. Devices which
++don't have this minor number are excluded. If you create an array as
++/dev/md1, then all superblocks will contain the minor number 1, even if
++the array is later assembled as /dev/md2.
++
++Giving the literal word "dev" for
++.B --super-minor
++will cause
++.I mdadm
++to use the minor number of the md device that is being assembled.
++e.g. when assembling
++.BR /dev/md0 ,
++.M --super-minor=dev
++will look for super blocks with a minor number of 0.
++
++.TP
++.BR -N ", " --name=
++Specify the name of the array to assemble. This must be the name
++that was specified when creating the array. It must either match
++then name stored in the superblock exactly, or it must match
++with the current
++.I homehost
++is added to the start of the given name.
++
++.TP
++.BR -f ", " --force
++Assemble the array even if some superblocks appear out-of-date
++
++.TP
++.BR -R ", " --run
++Attempt to start the array even if fewer drives were given than were
++present last time the array was active. Normally if not all the
++expected drives are found and
++.B --scan
++is not used, then the array will be assembled but not started.
++With
++.B --run
++an attempt will be made to start it anyway.
++
++.TP
++.B --no-degraded
++This is the reverse of
++.B --run
++in that it inhibits the started if array unless all expected drives
++are present. This is only needed with
++.B --scan
++and can be used if you physical connections to devices are
++not as reliable as you would like.
++
++.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. If
++an array has an
++.B internal
++bitmap, there is no need to specify this when assembling the array.
++
++.TP
++.BR --backup-file=
++If
++.B --backup-file
++was used to grow the number of raid-devices in a RAID5, and the system
++crashed during the critical section, then the same
++.B --backup-file
++must be presented to --assemble to allow possibly corrupted data to be
++restored.
++
++.TP
++.BR -U ", " --update=
++Update the superblock on each device while assembling the array. The
++argument given to this flag can be one of
++.BR sparc2.2 ,
++.BR summaries ,
++.BR uuid ,
++.BR name ,
++.BR homehost ,
++.BR resync ,
++.BR byteorder ,
++.BR devicesize ,
++or
++.BR super-minor .
++
++The
++.B sparc2.2
++option will adjust the superblock of an array what was created on a Sparc
++machine running a patched 2.2 Linux kernel. This kernel got the
++alignment of part of the superblock wrong. You can use the
++.B "--examine --sparc2.2"
++option to
++.I mdadm
++to see what effect this would have.
++
++The
++.B super-minor
++option will update the
++.B "preferred minor"
++field on each superblock to match the minor number of the array being
++assembled.
++This can be useful if
++.B --examine
++reports a different "Preferred Minor" to
++.BR --detail .
++In some cases this update will be performed automatically
++by the kernel driver. In particular the update happens automatically
++at the first write to an array with redundancy (RAID level 1 or
++greater) on a 2.6 (or later) kernel.
++
++The
++.B uuid
++option will change the uuid of the array. If a UUID is given with the
++"--uuid" option that UUID will be used as a new UUID and will
++.B NOT
++be used to help identify the devices in the array.
++If no "--uuid" is given, a random uuid is chosen.
++
++The
++.B name
++option will change the
++.I name
++of the array as stored in the superblock. This is only supported for
++version-1 superblocks.
++
++The
++.B homehost
++option will change the
++.I homehost
++as recorded in the superblock. For version-0 superblocks, this is the
++same as updating the UUID.
++For version-1 superblocks, this involves updating the name.
++
++The
++.B resync
++option will cause the array to be marked
++.I dirty
++meaning that any redundancy in the array (e.g. parity for raid5,
++copies for raid1) may be incorrect. This will cause the raid system
++to perform a "resync" pass to make sure that all redundant information
++is correct.
++
++The
++.B byteorder
++option allows arrays to be moved between machines with different
++byte-order.
++When assembling such an array for the first time after a move, giving
++.B "--update=byteorder"
++will cause
++.I mdadm
++to expect superblocks to have their byteorder reversed, and will
++correct that order before assembling the array. This is only valid
++with original (Version 0.90) superblocks.
++
++The
++.B summaries
++option will correct the summaries in the superblock. That is the
++counts of total, working, active, failed, and spare devices.
++
++The
++.B devicesize
++will rarely be of use. It applies to version 1.1 and 1.2 metadata
++only (where the metadata is at the start of the device) and is only
++useful when the component device has changed size (typically become
++larger). The version 1 metadata records the amount of the device that
++can be used to store data, so if a device in a version 1.1 or 1.2
++array becomes larger, the metadata will still be visible, but the
++extra space will not. In this case it might be useful to assemble the
++array with
++.BR --update=devicesize .
++This will cause
++.I mdadm
++to determine the maximum usable amount of space on each device and
++update the relevant field in the metadata.
++
++.TP
++.B --auto-update-homehost
++This flag is only meaning with auto-assembly (see discussion below).
++In that situation, if no suitable arrays are found for this homehost,
++.I mdadm
++will recan for any arrays at all and will assemble them and update the
++homehost to match the current host.
++
++.SH For Manage mode:
++
++.TP
++.BR -a ", " --add
++hot-add listed devices.
++
++.TP
++.BR --re-add
++re-add a device that was recently removed from an array.
++
++.TP
++.BR -r ", " --remove
++remove listed devices. They must not be active. i.e. they should
++be failed or spare devices.
++
++.TP
++.BR -f ", " --fail
++mark listed devices as faulty.
++
++.TP
++.BR --set-faulty
++same as --fail.
++
++.P
++Each of these options require that the first device list is the array
++to be acted upon and the remainder are component devices to be added,
++removed, or marked as fault. Several different operations can be
++specified for different devices, e.g.
++.in +5
++mdadm /dev/md0 --add /dev/sda1 --fail /dev/sdb1 --remove /dev/sdb1
++.in -5
++Each operation applies to all devices listed until the next
++operations.
++
++If an array is using a write-intent bitmap, then devices which have
++been removed can be re-added in a way that avoids a full
++reconstruction but instead just updated the blocks that have changed
++since the device was removed. For arrays with persistent metadata
++(superblocks) this is done automatically. For arrays created with
++.B --build
++mdadm needs to be told that this device we removed recently with
++.B --re-add.
++
++Devices can only be removed from an array if they are not in active
++use. i.e. that must be spares or failed devices. To remove an active
++device, it must be marked as
++.B faulty
++first.
++
++.SH For Misc mode:
++
++.TP
++.BR -Q ", " --query
++Examine a device to see
++(1) if it is an md device and (2) if it is a component of an md
++array.
++Information about what is discovered is presented.
++
++.TP
++.BR -D ", " --detail
++Print detail of one or more md devices.
++
++.TP
++.BR -E ", " --examine
++Print content of md superblock on device(s).
++.TP
++.B --sparc2.2
++If an array was created on a 2.2 Linux kernel patched with RAID
++support, the superblock will have been created incorrectly, or at
++least incompatibly with 2.4 and later kernels. Using the
++.B --sparc2.2
++flag with
++.B --examine
++will fix the superblock before displaying it. If this appears to do
++the right thing, then the array can be successfully assembled using
++.BR "--assemble --update=sparc2.2" .
++
++.TP
++.BR -X ", " --examine-bitmap
++Report information about a bitmap file.
++
++.TP
++.BR -R ", " --run
++start a partially built array.
++
++.TP
++.BR -S ", " --stop
++deactivate array, releasing all resources.
++
++.TP
++.BR -o ", " --readonly
++mark array as readonly.
++
++.TP
++.BR -w ", " --readwrite
++mark array as readwrite.
++
++.TP
++.B --zero-superblock
++If the device contains a valid md superblock, the block is
++overwritten with zeros. With
++--force
++the block where the superblock would be is overwritten even if it
++doesn't appear to be valid.
++
++.TP
++.BR -t ", " --test
++When used with
++.BR --detail ,
++the exit status of
++.I mdadm
++is set to reflect the status of the device.
++
++.TP
++.BR -W ", " --wait
++For each md device given, wait for any resync, recovery, or reshape
++activity to finish before returning.
++.I mdadm
++will return with success if it actually waited for every device
++listed, otherwise it will return failure.
++
++.SH For Incremental Assembly mode:
++.TP
++.BR --rebuild-map ", " -r
++Rebuild the map file
++.RB ( /var/run/mdadm/map )
++that
++.I mdadm
++uses to help track which arrays are currently being assembled.
++
++.TP
++.BR --run ", " -R
++Run any array assembled as soon as a minimal number of devices are
++available, rather than waiting until all expected devices are present.
++
++.TP
++.BR --scan ", " -s
++Only meaningful with
++.B -R
++this will scan the
++.B map
++file for arrays that are being incrementally assembled and will try to
++start any that are not already started. If any such array is listed
++in
++.B mdadm.conf
++as requiring an external bitmap, that bitmap will be attached first.
++
++.SH For Monitor mode:
++.TP
++.BR -m ", " --mail
++Give a mail address to send alerts to.
++
++.TP
++.BR -p ", " --program ", " --alert
++Give a program to be run whenever an event is detected.
++
++.TP
++.BR -y ", " --syslog
++Cause all events to be reported through 'syslog'. The messages have
++facility of 'daemon' and varying priorities.
++
++.TP
++.BR -d ", " --delay
++Give a delay in seconds.
++.B mdadm
++polls the md arrays and then waits this many seconds before polling
++again. The default is 60 seconds.
++
++.TP
++.BR -f ", " --daemonise
++Tell
++.B mdadm
++to run as a background daemon if it decides to monitor anything. This
++causes it to fork and run in the child, and to disconnect form the
++terminal. The process id of the child is written to stdout.
++This is useful with
++.B --scan
++which will only continue monitoring if a mail address or alert program
++is found in the config file.
++
++.TP
++.BR -i ", " --pid-file
++When
++.B mdadm
++is running in daemon mode, write the pid of the daemon process to
++the specified file, instead of printing it on standard output.
++
++.TP
++.BR -1 ", " --oneshot
++Check arrays only once. This will generate
++.B NewArray
++events and more significantly
++.B DegradedArray
++and
++.B SparesMissing
++events. Running
++.in +5
++.B " mdadm --monitor --scan -1"
++.in -5
++from a cron script will ensure regular notification of any degraded arrays.
++
++.TP
++.BR -t ", " --test
++Generate a
++.B TestMessage
++alert for every array found at startup. This alert gets mailed and
++passed to the alert program. This can be used for testing that alert
++message do get through successfully.
++
++.SH ASSEMBLE MODE
++
++.HP 12
++Usage:
++.B mdadm --assemble
++.I md-device options-and-component-devices...
++.HP 12
++Usage:
++.B mdadm --assemble --scan
++.I md-devices-and-options...
++.HP 12
++Usage:
++.B mdadm --assemble --scan
++.I options...
++
++.PP
++This usage assembles one or more raid arrays from pre-existing components.
++For each array, mdadm needs to know the md device, the identity of the
++array, and a number of component-devices. These can be found in a number of ways.
++
++In the first usage example (without the
++.BR --scan )
++the first device given is the md device.
++In the second usage example, all devices listed are treated as md
++devices and assembly is attempted.
++In the third (where no devices are listed) all md devices that are
++listed in the configuration file are assembled.
++
++If precisely one device is listed, but
++.B --scan
++is not given, then
++.I mdadm
++acts as though
++.B --scan
++was given and identify information is extracted from the configuration file.
++
++The identity can be given with the
++.B --uuid
++option, with the
++.B --super-minor
++option, can be found in the config file, or will be taken from the
++super block on the first component-device listed on the command line.
++
++Devices can be given on the
++.B --assemble
++command line or in the config file. Only devices which have an md
++superblock which contains the right identity will be considered for
++any array.
++
++The config file is only used if explicitly named with
++.B --config
++or requested with (a possibly implicit)
++.B --scan.
++In the later case,
++.B /etc/mdadm/mdadm.conf
++is used.
++
++If
++.B --scan
++is not given, then the config file will only be used to find the
++identity of md arrays.
++
++Normally the array will be started after it is assembled. However if
++.B --scan
++is not given and insufficient drives were listed to start a complete
++(non-degraded) array, then the array is not started (to guard against
++usage errors). To insist that the array be started in this case (as
++may work for RAID1, 4, 5, 6, or 10), give the
++.B --run
++flag.
++
++If the md device does not exist, then it will be created providing the
++intent is clear. i.e. the name must be in a standard form, or the
++.I --auto
++option must be given to clarify how and whether the device should be
++created.
++
++This can be useful for handling partitioned devices (which don't have
++a stable device number \(em it can change after a reboot) and when using
++"udev" to manage your
++.B /dev
++tree (udev cannot handle md devices because of the unusual device
++initialisation conventions).
++
++If the option to "auto" is "mdp" or "part" or (on the command line
++only) "p", then mdadm will create a partitionable array, using the
++first free one that is not in use, and does not already have an entry
++in /dev (apart from numeric /dev/md* entries).
++
++If the option to "auto" is "yes" or "md" or (on the command line)
++nothing, then mdadm will create a traditional, non-partitionable md
++array.
++
++It is expected that the "auto" functionality will be used to create
++device entries with meaningful names such as "/dev/md/home" or
++"/dev/md/root", rather than names based on the numerical array number.
++
++When using this option to create a partitionable array, the device
++files for the first 4 partitions are also created. If a different
++number is required it can be simply appended to the auto option.
++e.g. "auto=part8". Partition names are created by appending a digit
++string to the device name, with an intervening "p" if the device name
++ends with a digit.
++
++The
++.B --auto
++option is also available in Build and Create modes. As those modes do
++not use a config file, the "auto=" config option does not apply to
++these modes.
++
++.SS Auto Assembly
++When
++.B --assemble
++is used with
++.B --scan
++and no devices are listed,
++.I mdadm
++will first attempt to assemble all the arrays listed in the config
++file.
++
++If a
++.B homehost
++has been specified (either in the config file or on the command line),
++.I mdadm
++will look further for possible arrays and will try to assemble
++anything that it finds which is tagged as belonging to the given
++homehost. This is the only situation where
++.I mdadm
++will assemble arrays without being given specific device name or
++identify information for the array.
++
++If
++.I mdadm
++finds a consistent set of devices that look like they should comprise
++an array, and if the superblock is tagged as belonging to the given
++home host, it will automatically choose a device name and try to
++assemble the array. If the array uses version-0.90 metadata, then the
++.B minor
++number as recorded in the superblock is used to create a name in
++.B /dev/md/
++so for example
++.BR /dev/md/3 .
++If the array uses version-1 metadata, then the
++.B name
++from the superblock is used to similarly create a name in
++.BR /dev/md .
++The name will have any 'host' prefix stripped first.
++
++If
++.I mdadm
++cannot find any array for the given host at all, and if
++.B --auto-update-homehost
++is given, then
++.I mdadm
++will search again for any array (not just an array created for this
++host) and will assemble each assuming
++.IR --update=homehost .
++This will change the host tag in the superblock so that on the next run,
++these arrays will be found without the second pass. The intention of
++this feature is to support transitioning a set of md arrays to using
++homehost tagging.
++
++The reason for requiring arrays to be tagged with the homehost for
++auto assembly is to guard against problems that can arise when moving
++devices from one host to another.
++
++.SH BUILD MODE
++
++.HP 12
++Usage:
++.B mdadm --build
++.I device
++.BI --chunk= X
++.BI --level= Y
++.BI --raid-devices= Z
++.I devices
++
++.PP
++This usage is similar to
++.BR --create .
++The difference is that it creates an array without a superblock. With
++these arrays there is no difference between initially creating the array and
++subsequently assembling the array, except that hopefully there is useful
++data there in the second case.
++
++The level may raid0, linear, multipath, or faulty, or one of their
++synonyms. All devices must be listed and the array will be started
++once complete.
++
++.SH CREATE MODE
++
++.HP 12
++Usage:
++.B mdadm --create
++.I device
++.BI --chunk= X
++.BI --level= Y
++.br
++.BI --raid-devices= Z
++.I devices
++
++.PP
++This usage will initialise a new md array, associate some devices with
++it, and activate the array.
++
++If the
++.B --auto
++option is given (as described in more detail in the section on
++Assemble mode), then the md device will be created with a suitable
++device number if necessary.
++
++As devices are added, they are checked to see if they contain raid
++superblocks or filesystems. They are also checked to see if the variance in
++device size exceeds 1%.
++
++If any discrepancy is found, the array will not automatically be run, though
++the presence of a
++.B --run
++can override this caution.
++
++To create a "degraded" array in which some devices are missing, simply
++give the word "\fBmissing\fP"
++in place of a device name. This will cause
++.B mdadm
++to leave the corresponding slot in the array empty.
++For a RAID4 or RAID5 array at most one slot can be
++"\fBmissing\fP"; for a RAID6 array at most two slots.
++For a RAID1 array, only one real device needs to be given. All of the
++others can be
++"\fBmissing\fP".
++
++When creating a RAID5 array,
++.B mdadm
++will automatically create a degraded array with an extra spare drive.
++This is because building the spare into a degraded array is in general faster than resyncing
++the parity on a non-degraded, but not clean, array. This feature can
++be overridden with the
++.I --force
++option.
++
++When creating an array with version-1 metadata a name for the host is
++required.
++If this is not given with the
++.B --name
++option,
++.I mdadm
++will chose a name based on the last component of the name of the
++device being created. So if
++.B /dev/md3
++is being created, then the name
++.B 3
++will be chosen.
++If
++.B /dev/md/home
++is being created, then the name
++.B home
++will be used.
++
++A new array will normally get a randomly assigned 128bit UUID which is
++very likely to be unique. If you have a specific need, you can choose
++a UUID for the array by giving the
++.B --uuid=
++option. Be warned that creating two arrays with the same UUID is a
++recipe for disaster. Also, using
++.B --uuid=
++when creating a v0.90 array will silently override any
++.B --homehost=
++setting.
++'''If the
++'''.B --size
++'''option is given, it is not necessary to list any component-devices in this command.
++'''They can be added later, before a
++'''.B --run.
++'''If no
++'''.B --size
++'''is given, the apparent size of the smallest drive given is used.
++
++The General Management options that are valid with --create are:
++.TP
++.B --run
++insist on running the array even if some devices look like they might
++be in use.
++
++.TP
++.B --readonly
++start the array readonly \(em not supported yet.
++
++
++.SH MANAGE MODE
++.HP 12
++Usage:
++.B mdadm
++.I device
++.I options... devices...
++.PP
++
++This usage will allow individual devices in an array to be failed,
++removed or added. It is possible to perform multiple operations with
++on command. For example:
++.br
++.B " mdadm /dev/md0 -f /dev/hda1 -r /dev/hda1 -a /dev/hda1"
++.br
++will firstly mark
++.B /dev/hda1
++as faulty in
++.B /dev/md0
++and will then remove it from the array and finally add it back
++in as a spare. However only one md array can be affected by a single
++command.
++
++.SH MISC MODE
++.HP 12
++Usage:
++.B mdadm
++.I options ...
++.I devices ...
++.PP
++
++MISC mode includes a number of distinct operations that
++operate on distinct devices. The operations are:
++.TP
++--query
++The device is examined to see if it is
++(1) an active md array, or
++(2) a component of an md array.
++The information discovered is reported.
++
++.TP
++--detail
++The device should be an active md device.
++.B mdadm
++will display a detailed description of the array.
++.B --brief
++or
++.B --scan
++will cause the output to be less detailed and the format to be
++suitable for inclusion in
++.BR /etc/mdadm/mdadm.conf .
++The exit status of
++.I mdadm
++will normally be 0 unless
++.I mdadm
++failed to get useful information about the device(s). However if the
++.B --test
++option is given, then the exit status will be:
++.RS
++.TP
++0
++The array is functioning normally.
++.TP
++1
++The array has at least one failed device.
++.TP
++2
++The array has multiple failed devices and hence is unusable (raid4 or
++raid5).
++.TP
++4
++There was an error while trying to get information about the device.
++.RE
++
++.TP
++--examine
++The device should be a component of an md array.
++.B mdadm
++will read the md superblock of the device and display the contents.
++If
++.B --brief
++is given, or
++.B --scan
++then multiple devices that are components of the one array
++are grouped together and reported in a single entry suitable
++for inclusion in
++.BR /etc/mdadm/mdadm.conf .
++
++Having
++.B --scan
++without listing any devices will cause all devices listed in the
++config file to be examined.
++
++.TP
++--stop
++The devices should be active md arrays which will be deactivated, as
++long as they are not currently in use.
++
++.TP
++--run
++This will fully activate a partially assembled md array.
++
++.TP
++--readonly
++This will mark an active array as read-only, providing that it is
++not currently being used.
++
++.TP
++--readwrite
++This will change a
++.B readonly
++array back to being read/write.
++
++.TP
++--scan
++For all operations except
++.BR --examine ,
++.B --scan
++will cause the operation to be applied to all arrays listed in
++.BR /proc/mdstat .
++For
++.BR --examine,
++.B --scan
++causes all devices listed in the config file to be examined.
++
++
++.SH MONITOR MODE
++
++.HP 12
++Usage:
++.B mdadm --monitor
++.I options... devices...
++
++.PP
++This usage causes
++.B mdadm
++to periodically poll a number of md arrays and to report on any events
++noticed.
++.B mdadm
++will never exit once it decides that there are arrays to be checked,
++so it should normally be run in the background.
++
++As well as reporting events,
++.B mdadm
++may move a spare drive from one array to another if they are in the
++same
++.B spare-group
++and if the destination array has a failed drive but no spares.
++
++If any devices are listed on the command line,
++.B mdadm
++will only monitor those devices. Otherwise all arrays listed in the
++configuration file will be monitored. Further, if
++.B --scan
++is given, then any other md devices that appear in
++.B /proc/mdstat
++will also be monitored.
++
++The result of monitoring the arrays is the generation of events.
++These events are passed to a separate program (if specified) and may
++be mailed to a given E-mail address.
++
++When passing event to program, the program is run once for each event
++and is given 2 or 3 command-line arguments. The first is the
++name of the event (see below). The second is the name of the
++md device which is affected, and the third is the name of a related
++device if relevant, such as a component device that has failed.
++
++If
++.B --scan
++is given, then a program or an E-mail address must be specified on the
++command line or in the config file. If neither are available, then
++.B mdadm
++will not monitor anything.
++Without
++.B --scan
++.B mdadm
++will continue monitoring as long as something was found to monitor. If
++no program or email is given, then each event is reported to
++.BR stdout .
++
++The different events are:
++
++.RS 4
++.TP
++.B DeviceDisappeared
++An md array which previously was configured appears to no longer be
++configured. (syslog priority: Critical)
++
++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. (syslog priority: Warning)
++
++.TP
++.BI Rebuild NN
++Where
++.I NN
++is 20, 40, 60, or 80, this indicates that rebuild has passed that many
++percentage of the total. (syslog priority: Warning)
++
++.TP
++.B RebuildFinished
++An md array that was rebuilding, isn't any more, either because it
++finished normally or was aborted. (syslog priority: Warning)
++
++.TP
++.B Fail
++An active component device of an array has been marked as
++faulty. (syslog priority: Critical)
++
++.TP
++.B FailSpare
++A spare component device which was being rebuilt to replace a faulty
++device has failed. (syslog priority: Critial)
++
++.TP
++.B SpareActive
++A spare component device which was being rebuilt to replace a faulty
++device has been successfully rebuilt and has been made active.
++(syslog priority: Info)
++
++.TP
++.B NewArray
++A new md array has been detected in the
++.B /proc/mdstat
++file. (syslog priority: Info)
++
++.TP
++.B DegradedArray
++A newly noticed array appears to be degraded. This message is not
++generated when
++.I mdadm
++notices a drive failure which causes degradation, but only when
++.I mdadm
++notices that an array is degraded when it first sees the array.
++(syslog priority: Critial)
++
++.TP
++.B MoveSpare
++A spare drive has been moved from one array in a
++.B spare-group
++to another to allow a failed drive to be replaced.
++(syslog priority: Info)
++
++.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.
++(syslog priority: Warning)
++
++.TP
++.B TestMessage
++An array was found at startup, and the
++.B --test
++flag was given.
++(syslog priority: Info)
++.RE
++
++Only
++.B Fail ,
++.B FailSpare ,
++.B DegradedArray ,
++.B SparesMissing ,
++and
++.B TestMessage
++cause Email to be sent. All events cause the program to be run.
++The program is run with two or three arguments, they being the event
++name, the array device and possibly a second device.
++
++Each event has an associated array device (e.g.
++.BR /dev/md1 )
++and possibly a second device. For
++.BR Fail ,
++.BR FailSpare ,
++and
++.B SpareActive
++the second device is the relevant component device.
++For
++.B MoveSpare
++the second device is the array that the spare was moved from.
++
++For
++.B mdadm
++to move spares from one array to another, the different arrays need to
++be labelled with the same
++.B spare-group
++in the configuration file. The
++.B spare-group
++name can be any string. It is only necessary that different spare
++groups use different names.
++
++When
++.B mdadm
++detects that an array which is in a spare group has fewer active
++devices than necessary for the complete array, and has no spare
++devices, it will look for another array in the same spare group that
++has a full complement of working drive and a spare. It will then
++attempt to remove the spare from the second drive and add it to the
++first.
++If the removal succeeds but the adding fails, then it is added back to
++the original array.
++
++.SH GROW MODE
++The GROW mode is used for changing the size or shape of an active
++array.
++For this to work, the kernel must support the necessary change.
++Various types of growth are being added during 2.6 development,
++including restructuring a raid5 array to have more active devices.
++
++Currently the only support available is to
++.IP \(bu 4
++change the "size" attribute
++for RAID1, RAID5 and RAID6.
++.IP \(bu 4
++increase the "raid-disks" attribute of RAID1, RAID5, and RAID6.
++.IP \(bu 4
++add a write-intent bitmap to any array which support these bitmaps, or
++remove a write-intent bitmap from such an array.
++.PP
++
++.SS SIZE CHANGES
++Normally when an array is built the "size" it taken from the smallest
++of the drives. If all the small drives in an arrays are, one at a
++time, removed and replaced with larger drives, then you could have an
++array of large drives with only a small amount used. In this
++situation, changing the "size" with "GROW" mode will allow the extra
++space to start being used. If the size is increased in this way, a
++"resync" process will start to make sure the new parts of the array
++are synchronised.
++
++Note that when an array changes size, any filesystem that may be
++stored in the array will not automatically grow to use the space. The
++filesystem will need to be explicitly told to use the extra space.
++
++.SS RAID-DEVICES CHANGES
++
++A RAID1 array can work with any number of devices from 1 upwards
++(though 1 is not very useful). There may be times which you want to
++increase or decrease the number of active devices. Note that this is
++different to hot-add or hot-remove which changes the number of
++inactive devices.
++
++When reducing the number of devices in a RAID1 array, the slots which
++are to be removed from the array must already be vacant. That is, the
++devices that which were in those slots must be failed and removed.
++
++When the number of devices is increased, any hot spares that are
++present will be activated immediately.
++
++Increasing the number of active devices in a RAID5 is much more
++effort. Every block in the array will need to be read and written
++back to a new location. From 2.6.17, the Linux Kernel is able to do
++this safely, including restart and interrupted "reshape".
++
++When relocating the first few stripes on a raid5, it is not possible
++to keep the data on disk completely consistent and crash-proof. To
++provide the required safety, mdadm disables writes to the array while
++this "critical section" is reshaped, and takes a backup of the data
++that is in that section. This backup is normally stored in any spare
++devices that the array has, however it can also be stored in a
++separate file specified with the
++.B --backup-file
++option. If this option is used, and the system does crash during the
++critical period, the same file must be passed to
++.B --assemble
++to restore the backup and reassemble the array.
++
++.SS BITMAP CHANGES
++
++A write-intent bitmap can be added to, or removed from, an active
++array. Either internal bitmaps, or bitmaps stored in a separate file
++can be added. Note that if you add a bitmap stored in a file which is
++in a filesystem that is on the raid array being affected, the system
++will deadlock. The bitmap must be on a separate filesystem.
++
++.SH INCREMENTAL MODE
++
++.HP 12
++Usage:
++.B mdadm --incremental
++.RB [ --run ]
++.RB [ --quiet ]
++.I component-device
++.HP 12
++Usage:
++.B mdadm --incremental --rebuild
++.HP 12
++Usage:
++.B mdadm --incremental --run --scan
++
++
++.PP
++This mode is designed to be used in conjunction with a device
++discovery system. As devices are found in a system, they can be
++passed to
++.B "mdadm --incremental"
++to be conditionally added to an appropriate array.
++
++.I mdadm
++performs a number of tests to determine if the device is part of an
++array, and which array is should be part of. If an appropriate array
++is found, or can be created,
++.I mdadm
++adds the device to the array and conditionally starts the array.
++
++Note that
++.I mdadm
++will only add devices to an array which were previously working
++(active or spare) parts of that array. It does not currently support
++automatic inclusion of a new drive as a spare in some array.
++
++.B "mdadm --incremental"
++requires a bug present in all kernels through 2.6.19, to be fixed.
++Hopefully this will be fixed in 2.6.20. Alternately apply the patch
++which is included with the mdadm source distribution. If
++.I mdadm
++detects that this bug is present, it will abort any attempt to use
++.BR --incremental .
++
++The tests that
++.I mdadm
++makes are as follow:
++.IP +
++Is the device permitted by
++.BR mdadm.conf ?
++That is, is it listed in a
++.B DEVICES
++line in that file. If
++.B DEVICES
++is absent then the default it to allow any device. Similar if
++.B DEVICES
++contains the special word
++.B partitions
++then any device is allowed. Otherwise the device name given to
++.I mdadm
++must match one of the names or patterns in a
++.B DEVICES
++line.
++
++.IP +
++Does the device have a valid md superblock. If a specific metadata
++version is request with
++.B --metadata
++or
++.B -e
++then only that style of metadata is accepted, otherwise
++.I mdadm
++finds any known version of metadata. If no
++.I md
++metadata is found, the device is rejected.
++
++.IP +
++Does the metadata match an expected array?
++The metadata can match in two ways. Either there is an array listed
++in
++.B mdadm.conf
++which identifies the array (either by UUID, by name, by device list,
++or by minor-number), the array was created with a
++.B homehost
++specified, and that
++.B homehost
++matches that which is given in
++.B mdadm.conf
++or on the command line.
++If
++.I mdadm
++is not able to positively identify the array as belonging to the
++current host, the device will be rejected.
++
++.IP +
++.I mdadm
++keeps a list of arrays that is has partly assembled in
++.B /var/run/mdadm/map
++(or
++.B /var/run/mdadm.map
++if the directory doesn't exist). If no array exists which matches
++the metadata on the new device,
++.I mdadm
++must choose a device name and unit number. It does this based on any
++name given in
++.B mdadm.conf
++or any name information stored in the metadata. If this name
++suggests a unit number, that number will be used, otherwise a free
++unit number will be chosen. Normally
++.I mdadm
++will prefer to create a partitionable array, however if the
++.B CREATE
++line in
++.B mdadm.conf
++suggests that a non-partitionable array is preferred, that will be
++honoured.
++
++.IP +
++Once an appropriate array is found or created and the device is added,
++.I mdadm
++must decide if the array is ready to be started. It will
++normally compare the number of available (non-spare) devices to the
++number of devices that the metadata suggests need to be active. If
++there are at least that many, the array will be started. This means
++that if any devices are missing the array will not be restarted.
++
++As an alternative,
++.B --run
++may be passed to
++.B mdadm
++in which case the array will be run as soon as there are enough
++devices present for the data to be accessible. For a raid1, that
++means one device will start the array. For a clean raid5, the array
++will be started as soon as all but one drive is present.
++
++Note that neither of these approaches is really ideal. If it is can
++be known that all device discovery has completed, then
++.br
++.B " mdadm -IRs"
++.br
++can be run which will try to start all arrays that are being
++incrementally assembled. They are started in "read-auto" mode in
++which they are read-only until the first write request. This means
++that no metadata updates are made and no attempt at resync or recovery
++happens. Further devices that are found before the first write can
++still be added safely.
++
++.SH EXAMPLES
++
++.B " mdadm --query /dev/name-of-device"
++.br
++This will find out if a given device is a raid array, or is part of
++one, and will provide brief information about the device.
++
++.B " mdadm --assemble --scan"
++.br
++This will assemble and start all arrays listed in the standard config file
++file. This command will typically go in a system startup file.
++
++.B " mdadm --stop --scan"
++.br
++This will shut down all array that can be shut down (i.e. are not
++currently in use). This will typically go in a system shutdown script.
++
++.B " mdadm --follow --scan --delay=120"
++.br
++If (and only if) there is an Email address or program given in the
++standard config file, then
++monitor the status of all arrays listed in that file by
++polling them ever 2 minutes.
++
++.B " mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/hd[ac]1"
++.br
++Create /dev/md0 as a RAID1 array consisting of /dev/hda1 and /dev/hdc1.
++
++.br
++.B " echo 'DEVICE /dev/hd*[0-9] /dev/sd*[0-9]' > mdadm.conf"
++.br
++.B " mdadm --detail --scan >> mdadm.conf"
++.br
++This will create a prototype config file that describes currently
++active arrays that are known to be made from partitions of IDE or SCSI drives.
++This file should be reviewed before being used as it may
++contain unwanted detail.
++
++.B " echo 'DEVICE /dev/hd[a-z] /dev/sd*[a-z]' > mdadm.conf"
++.br
++.B " mdadm --examine --scan --config=mdadm.conf >> mdadm.conf"
++.ber
++This will find what arrays could be assembled from existing IDE and
++SCSI whole drives (not partitions) and store the information is the
++format of a config file.
++This file is very likely to contain unwanted detail, particularly
++the
++.B devices=
++entries. It should be reviewed and edited before being used as an
++actual config file.
++
++.B " mdadm --examine --brief --scan --config=partitions"
++.br
++.B " mdadm -Ebsc partitions"
++.br
++Create a list of devices by reading
++.BR /proc/partitions ,
++scan these for RAID superblocks, and printout a brief listing of all
++that was found.
++
++.B " mdadm -Ac partitions -m 0 /dev/md0"
++.br
++Scan all partitions and devices listed in
++.BR /proc/partitions
++and assemble
++.B /dev/md0
++out of all such devices with a RAID superblock with a minor number of 0.
++
++.B " mdadm --monitor --scan --daemonise > /var/run/mdadm"
++.br
++If config file contains a mail address or alert program, run mdadm in
++the background in monitor mode monitoring all md devices. Also write
++pid of mdadm daemon to
++.BR /var/run/mdadm .
++
++.B " mdadm -Iq /dev/somedevice"
++.br
++Try to incorporate newly discovered device into some array as
++appropriate.
++
++.B " mdadm --incremental --rebuild --run --scan"
++.br
++Rebuild the array map from any current arrays, and then start any that
++can be started.
++
++.B " mdadm --create --help"
++.br
++Provide help about the Create mode.
++
++.B " mdadm --config --help"
++.br
++Provide help about the format of the config file.
++
++.B " mdadm --help"
++.br
++Provide general help.
++
++
++.SH FILES
++
++.SS /proc/mdstat
++
++If you're using the
++.B /proc
++filesystem,
++.B /proc/mdstat
++lists all active md devices with information about them.
++.B mdadm
++uses this to find arrays when
++.B --scan
++is given in Misc mode, and to monitor array reconstruction
++on Monitor mode.
++
++
++.SS /etc/mdadm/mdadm.conf
++
++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
++.BR mdadm.conf (5)
++for more details.
++
++.SS /var/run/mdadm/map
++When
++.I --incremental
++mode is used. this file gets a list of arrays currently being created.
++If
++.B /var/run/mdadm
++does not exist as a directory, then
++.B /var/run/mdadm.map
++is used instead.
++
++.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
++was previously known as
++.BR mdctl .
++.P
++.B mdadm
++is completely separate from the
++.B raidtools
++package, and does not use the
++.I /etc/raidtab
++configuration file at all.
++
++.SH SEE ALSO
++For information on the various levels of
++RAID, check out:
++
++.IP
++.UR http://ostenfeld.dk/~jakob/Software-RAID.HOWTO/
++http://ostenfeld.dk/~jakob/Software-RAID.HOWTO/
++.UE
++'''.PP
++'''for new releases of the RAID driver check out:
++'''
++'''.IP
++'''.UR ftp://ftp.kernel.org/pub/linux/kernel/people/mingo/raid-patches
++'''ftp://ftp.kernel.org/pub/linux/kernel/people/mingo/raid-patches
++'''.UE
++'''.PP
++'''or
++'''.IP
++'''.UR http://www.cse.unsw.edu.au/~neilb/patches/linux-stable/
++'''http://www.cse.unsw.edu.au/~neilb/patches/linux-stable/
++'''.UE
++.PP
++The latest version of
++.I mdadm
++should always be available from
++.IP
++.UR http://www.kernel.org/pub/linux/utils/raid/mdadm/
++http://www.kernel.org/pub/linux/utils/raid/mdadm/
++.UE
++.PP
++.IR mdadm.conf (5),
++.IR md (4).
++.PP
++.IR raidtab (5),
++.IR raid0run (8),
++.IR raidstop (8),
++.IR mkraid (8).
+diff -urNad mdadm-2.6.1~/mdadm.conf.5 mdadm-2.6.1/mdadm.conf.5
+--- mdadm-2.6.1~/mdadm.conf.5 2007-03-13 19:22:34.000000000 +0100
++++ mdadm-2.6.1/mdadm.conf.5 2007-03-13 19:23:58.000000000 +0100
+@@ -135,7 +135,7 @@
+ .TP
+ .B spares=
+ The value is a number of spare devices to expect the array to have.
+-.I mdadm --monitor
++.B mdadm --monitor
+ will report an array if it is found to have fewer than this number of
+ spares when
+ .B --monitor
+@@ -187,7 +187,7 @@
+ .B metadata=
+ Specify the metadata format that the array has. This is mainly
+ recognised for comparability with the output of
+-.IR "mdadm -Es" .
++.BR "mdadm -Es" .
+
+ .RE
+
diff --git a/debian/patches/94-manpages-hyphens-FIXES.dpatch b/debian/patches/94-manpages-hyphens-FIXES.dpatch
new file mode 100755
index 00000000..9aff7b60
--- /dev/null
+++ b/debian/patches/94-manpages-hyphens-FIXES.dpatch
@@ -0,0 +1,3254 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 94-manpages-hyphens-FIXES.dpatch by martin f. krafft <madduck@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad mdadm-2.6.1~/mdadm.8 mdadm-2.6.1/mdadm.8
+--- mdadm-2.6.1~/mdadm.8 2007-03-13 19:24:49.000000000 +0100
++++ mdadm-2.6.1/mdadm.8 2007-03-13 19:26:06.000000000 +0100
+@@ -159,37 +159,37 @@
+ .SH Options for selecting a mode are:
+
+ .TP
+-.BR -A ", " --assemble
++.BR \-A ", " \-\-assemble
+ Assemble a pre-existing array.
+
+ .TP
+-.BR -B ", " --build
++.BR \-B ", " \-\-build
+ Build a legacy array without superblocks.
+
+ .TP
+-.BR -C ", " --create
++.BR \-C ", " \-\-create
+ Create a new array.
+
+ .TP
+-.BR -F ", " --follow ", " --monitor
++.BR \-F ", " \-\-follow ", " \-\-monitor
+ Select
+ .B Monitor
+ mode.
+
+ .TP
+-.BR -G ", " --grow
++.BR \-G ", " \-\-grow
+ Change the size or shape of an active array.
+
+ .TP
+-.BE -I ", " --incremental
++.BE \-I ", " \-\-incremental
+ Add a single device into an appropriate array, and possibly start the array.
+
+ .P
+ If a device is given before any options, or if the first option is
+-.BR --add ,
+-.BR --fail ,
++.BR \-\-add ,
++.BR \-\-fail ,
+ or
+-.BR --remove ,
++.BR \-\-remove ,
+ then the MANAGE mode is assume.
+ Anything other than these will cause the
+ .B Misc
+@@ -198,53 +198,53 @@
+ .SH Options that are not mode-specific are:
+
+ .TP
+-.BR -h ", " --help
++.BR \-h ", " \-\-help
+ Display general help message or, after one of the above options, a
+ mode specific help message.
+
+ .TP
+-.B --help-options
++.B \-\-help\-options
+ Display more detailed help about command line parsing and some commonly
+ used options.
+
+ .TP
+-.BR -V ", " --version
++.BR \-V ", " \-\-version
+ Print version information for mdadm.
+
+ .TP
+-.BR -v ", " --verbose
++.BR \-v ", " \-\-verbose
+ Be more verbose about what is happening. This can be used twice to be
+ extra-verbose.
+ The extra verbosity currently only affects
+-.B --detail --scan
++.B \-\-detail \-\-scan
+ and
+-.BR "--examine --scan" .
++.BR "\-\-examine \-\-scan" .
+
+ .TP
+-.BR -q ", " --quiet
++.BR \-q ", " \-\-quiet
+ Avoid printing purely informative messages. With this,
+ .B mdadm
+ will be silent unless there is something really important to report.
+
+ .TP
+-.BR -b ", " --brief
++.BR \-b ", " \-\-brief
+ Be less verbose. This is used with
+-.B --detail
++.B \-\-detail
+ and
+-.BR --examine .
++.BR \-\-examine .
+ Using
+-.B --brief
++.B \-\-brief
+ with
+-.B --verbose
++.B \-\-verbose
+ gives an intermediate level of verbosity.
+
+ .TP
+-.BR -f ", " --force
++.BR \-f ", " \-\-force
+ Be more forceful about certain operations. See the various modes of
+ the exact meaning of this option in different contexts.
+
+ .TP
+-.BR -c ", " --config=
++.BR \-c ", " \-\-config=
+ Specify the config file. Default is to use
+ .BR /etc/mdadm/mdadm.conf ,
+ or if that is missing, then
+@@ -265,7 +265,7 @@
+ will act as though the config file were empty.
+
+ .TP
+-.BR -s ", " --scan
++.BR \-s ", " \-\-scan
+ scan config file or
+ .B /proc/mdstat
+ for missing information.
+@@ -276,19 +276,19 @@
+ configuration file:
+ .BR /etc/mdadm/mdadm.conf .
+ One exception is MISC mode when using
+-.B --detail
++.B \-\-detail
+ or
+-.B --stop
++.B \-\-stop
+ in which case
+-.B --scan
++.B \-\-scan
+ says to get a list of array devices from
+ .BR /proc/mdstat .
+
+ .TP
+-.B -e ", " --metadata=
++.B \-e ", " \-\-metadata=
+ Declare the style of superblock (raid metadata) to be used. The
+ default is 0.90 for
+-.BR --create ,
++.BR \-\-create ,
+ and to guess for other operations.
+ The default can be overridden by setting the
+ .B metadata
+@@ -311,7 +311,7 @@
+ .RE
+
+ .TP
+-.B --homehost=
++.B \-\-homehost=
+ This will override any
+ .B HOMEHOST
+ setting in the config file and provides the identify of the host which
+@@ -333,26 +333,26 @@
+ .SH For create, build, or grow:
+
+ .TP
+-.BR -n ", " --raid-devices=
++.BR \-n ", " \-\-raid\-devices=
+ Specify the number of active devices in the array. This, plus the
+ number of spare devices (see below) must equal the number of
+ .I component-devices
+ (including "\fBmissing\fP" devices)
+ that are listed on the command line for
+-.BR --create .
++.BR \-\-create .
+ Setting a value of 1 is probably
+ a mistake and so requires that
+-.B --force
++.B \-\-force
+ be specified first. A value of 1 will then be allowed for linear,
+ multipath, raid0 and raid1. It is never allowed for raid4 or raid5.
+ .br
+ This number can only be changed using
+-.B --grow
++.B \-\-grow
+ for RAID1, RAID5 and RAID6 arrays, and only on kernels which provide
+ necessary support.
+
+ .TP
+-.BR -x ", " --spare-devices=
++.BR \-x ", " \-\-spare\-devices=
+ Specify the number of spare (eXtra) devices in the initial array.
+ Spares can also be added
+ and removed later. The number of component devices listed
+@@ -361,7 +361,7 @@
+
+
+ .TP
+-.BR -z ", " --size=
++.BR \-z ", " \-\-size=
+ Amount (in Kibibytes) of space to use from each drive in RAID1/4/5/6.
+ This must be a multiple of the chunk size, and must leave about 128Kb
+ of space at the end of the drive for the RAID superblock.
+@@ -371,61 +371,61 @@
+ issued.
+
+ This value can be set with
+-.B --grow
++.B \-\-grow
+ for RAID level 1/4/5/6. If the array was created with a size smaller
+ than the currently active drives, the extra space can be accessed
+ using
+-.BR --grow .
++.BR \-\-grow .
+ The size can be given as
+ .B max
+ which means to choose the largest size that fits on all current drives.
+
+ .TP
+-.BR -c ", " --chunk=
++.BR \-c ", " \-\-chunk=
+ Specify chunk size of kibibytes. The default is 64.
+
+ .TP
+-.BR --rounding=
++.BR \-\-rounding=
+ Specify rounding factor for linear array (==chunk size)
+
+ .TP
+-.BR -l ", " --level=
++.BR \-l ", " \-\-level=
+ Set raid level. When used with
+-.BR --create ,
++.BR \-\-create ,
+ options are: linear, raid0, 0, stripe, raid1, 1, mirror, raid4, 4,
+ raid5, 5, raid6, 6, raid10, 10, multipath, mp, faulty. Obviously some of these are synonymous.
+
+ When used with
+-.BR --build ,
++.BR \-\-build ,
+ only linear, stripe, raid0, 0, raid1, multipath, mp, and faulty are valid.
+
+ Not yet supported with
+-.BR --grow .
++.BR \-\-grow .
+
+ .TP
+-.BR -p ", " --layout=
++.BR \-p ", " \-\-layout=
+ This option configures the fine details of data layout for raid5,
+ and raid10 arrays, and controls the failure modes for
+ .IR faulty .
+
+ The layout of the raid5 parity block can be one of
+-.BR left-asymmetric ,
+-.BR left-symmetric ,
+-.BR right-asymmetric ,
+-.BR right-symmetric ,
++.BR left\-asymmetric ,
++.BR left\-symmetric ,
++.BR right\-asymmetric ,
++.BR right\-symmetric ,
+ .BR la ", " ra ", " ls ", " rs .
+ The default is
+-.BR left-symmetric .
++.BR left\-symmetric .
+
+ When setting the failure mode for
+ .I faulty
+ the options are:
+-.BR write-transient ", " wt ,
+-.BR read-transient ", " rt ,
+-.BR write-persistent ", " wp ,
+-.BR read-persistent ", " rp ,
+-.BR write-all ,
+-.BR read-fixable ", " rf ,
++.BR write\-transient ", " wt ,
++.BR read\-transient ", " rt ,
++.BR write\-persistent ", " wp ,
++.BR read\-persistent ", " rp ,
++.BR write\-all ,
++.BR read\-fixable ", " rf ,
+ .BR clear ", " flush ", " none .
+
+ Each mode can be followed by a number which is used as a period
+@@ -435,14 +435,14 @@
+ every time the period elapses.
+
+ Multiple failure modes can be current simultaneously by using the
+-.B --grow
++.B \-\-grow
+ option to set subsequent failure modes.
+
+ "clear" or "none" will remove any pending or periodic failure modes,
+ and "flush" will clear any persistent faults.
+
+ To set the parity with
+-.BR --grow ,
++.BR \-\-grow ,
+ the level of the array ("faulty")
+ must be specified before the fault mode is specified.
+
+@@ -472,17 +472,17 @@
+ with an odd number of devices).
+
+ .TP
+-.BR --parity=
++.BR \-\-parity=
+ same as
+-.B --layout
++.B \-\-layout
+ (thus explaining the p of
+-.BR -p ).
++.BR \-p ).
+
+ .TP
+-.BR -b ", " --bitmap=
++.BR \-b ", " \-\-bitmap=
+ Specify a file to store a write-intent bitmap in. The file should not
+ exist unless
+-.B --force
++.B \-\-force
+ is also given. The same file should be provided
+ when assembling the array. If the word
+ .B internal
+@@ -490,7 +490,7 @@
+ and so is replicated on all devices. If the word
+ .B none
+ is given with
+-.B --grow
++.B \-\-grow
+ mode, then any bitmap that is present is removed.
+
+ To help catch typing errors, the filename must contain at least one
+@@ -500,7 +500,7 @@
+ Storing bitmap files on other filesystems may result in serious problems.
+
+ .TP
+-.BR --bitmap-chunk=
++.BR \-\-bitmap\-chunk=
+ Set the chunksize of the bitmap. Each bit corresponds to that many
+ Kilobytes of storage.
+ When using a file based bitmap, the default is to use the smallest
+@@ -512,19 +512,19 @@
+
+
+ .TP
+-.BR -W ", " --write-mostly
++.BR \-W ", " \-\-write\-mostly
+ subsequent devices lists in a
+-.BR --build ,
+-.BR --create ,
++.BR \-\-build ,
++.BR \-\-create ,
+ or
+-.B --add
++.B \-\-add
+ command will be flagged as 'write-mostly'. This is valid for RAID1
+ only and means that the 'md' driver will avoid reading from these
+ devices if at all possible. This can be useful if mirroring over a
+ slow link.
+
+ .TP
+-.BR --write-behind=
++.BR \-\-write\-behind=
+ Specify that write-behind mode should be enabled (valid for RAID1
+ only). If an argument is specified, it will set the maximum number
+ of outstanding writes allowed. The default value is 256.
+@@ -533,7 +533,7 @@
+ .IR write-mostly .
+
+ .TP
+-.BR --assume-clean
++.BR \-\-assume\-clean
+ Tell
+ .I mdadm
+ that the array pre-existed and is known to be clean. It can be useful
+@@ -544,16 +544,16 @@
+ recommended. Use this ony if you really know what you are doing.
+
+ .TP
+-.BR --backup-file=
++.BR \-\-backup\-file=
+ This is needed when
+-.B --grow
++.B \-\-grow
+ is used to increase the number of
+ raid-devices in a RAID5 if there are no spare devices available.
+ See the section below on RAID_DEVICE CHANGES. The file should be
+ stored on a separate device, not on the raid array being reshaped.
+
+ .TP
+-.BR -N ", " --name=
++.BR \-N ", " \-\-name=
+ Set a
+ .B name
+ for the array. This is currently only effective when creating an
+@@ -561,7 +561,7 @@
+ string that can be used to identify array components when assembling.
+
+ .TP
+-.BR -R ", " --run
++.BR \-R ", " \-\-run
+ Insist that
+ .I mdadm
+ run the array, even if some of the components
+@@ -571,7 +571,7 @@
+ array. This option causes that question to be suppressed.
+
+ .TP
+-.BR -f ", " --force
++.BR \-f ", " \-\-force
+ Insist that
+ .I mdadm
+ accept the geometry and layout specified without question. Normally
+@@ -579,12 +579,12 @@
+ will not allow creation of an array with only one device, and will try
+ to create a raid5 array with one missing drive (as this makes the
+ initial resync work faster). With
+-.BR --force ,
++.BR \-\-force ,
+ .I mdadm
+ will not try to be so clever.
+
+ .TP
+-.BR -a ", " "--auto{=no,yes,md,mdp,part,p}{NN}"
++.BR \-a ", " "\-\-auto{=no,yes,md,mdp,part,p}{NN}"
+ 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
+@@ -593,20 +593,20 @@
+ from this. See DEVICE NAMES below.
+
+ The argument can also come immediately after
+-"-a". e.g. "-ap".
++"\-a". e.g. "\-ap".
+
+ If
+-.B --auto
++.B \-\-auto
+ is not given on the command line or in the config file, then
+ the default will be
+-.BR --auto=yes .
++.BR \-\-auto=yes .
+
+ If
+-.B --scan
++.B \-\-scan
+ is also given, then any
+ .I auto=
+ entries in the config file will override the
+-.B --auto
++.B \-\-auto
+ instruction given on the command line.
+
+ For partitionable arrays,
+@@ -614,7 +614,7 @@
+ 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 ).
++.BR \-\-auto=p7 ).
+ 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,
+@@ -629,9 +629,9 @@
+ non-standard name.
+
+ .TP
+-.BR --symlink = no
++.BR \-\-symlink = no
+ Normally when
+-.B --auto
++.B \-\-auto
+ causes
+ .I mdadm
+ to create devices in
+@@ -643,9 +643,9 @@
+ or
+ .BR md_ .
+ Use
+-.B --symlink=no
++.B \-\-symlink=no
+ to suppress this, or
+-.B --symlink=yes
++.B \-\-symlink=yes
+ to enforce this even if it is suppressing
+ .IR mdadm.conf .
+
+@@ -653,29 +653,29 @@
+ .SH For assemble:
+
+ .TP
+-.BR -u ", " --uuid=
++.BR \-u ", " \-\-uuid=
+ uuid of array to assemble. Devices which don't have this uuid are
+ excluded
+
+ .TP
+-.BR -m ", " --super-minor=
++.BR \-m ", " \-\-super\-minor=
+ Minor number of device that array was created for. Devices which
+ don't have this minor number are excluded. If you create an array as
+ /dev/md1, then all superblocks will contain the minor number 1, even if
+ the array is later assembled as /dev/md2.
+
+ Giving the literal word "dev" for
+-.B --super-minor
++.B \-\-super\-minor
+ will cause
+ .I mdadm
+ to use the minor number of the md device that is being assembled.
+ e.g. when assembling
+ .BR /dev/md0 ,
+-.M --super-minor=dev
++.M \-\-super\-minor=dev
+ will look for super blocks with a minor number of 0.
+
+ .TP
+-.BR -N ", " --name=
++.BR \-N ", " \-\-name=
+ Specify the name of the array to assemble. This must be the name
+ that was specified when creating the array. It must either match
+ then name stored in the superblock exactly, or it must match
+@@ -684,54 +684,54 @@
+ is added to the start of the given name.
+
+ .TP
+-.BR -f ", " --force
++.BR \-f ", " \-\-force
+ Assemble the array even if some superblocks appear out-of-date
+
+ .TP
+-.BR -R ", " --run
++.BR \-R ", " \-\-run
+ Attempt to start the array even if fewer drives were given than were
+ present last time the array was active. Normally if not all the
+ expected drives are found and
+-.B --scan
++.B \-\-scan
+ is not used, then the array will be assembled but not started.
+ With
+-.B --run
++.B \-\-run
+ an attempt will be made to start it anyway.
+
+ .TP
+-.B --no-degraded
++.B \-\-no\-degraded
+ This is the reverse of
+-.B --run
++.B \-\-run
+ in that it inhibits the started if array unless all expected drives
+ are present. This is only needed with
+-.B --scan
++.B \-\-scan
+ and can be used if you physical connections to devices are
+ not as reliable as you would like.
+
+ .TP
+-.BR -a ", " "--auto{=no,yes,md,mdp,part}"
++.BR \-a ", " "\-\-auto{=no,yes,md,mdp,part}"
+ See this option under Create and Build options.
+
+ .TP
+-.BR -b ", " --bitmap=
++.BR \-b ", " \-\-bitmap=
+ Specify the bitmap file that was given when the array was created. If
+ an array has an
+ .B internal
+ bitmap, there is no need to specify this when assembling the array.
+
+ .TP
+-.BR --backup-file=
++.BR \-\-backup\-file=
+ If
+-.B --backup-file
++.B \-\-backup\-file
+ was used to grow the number of raid-devices in a RAID5, and the system
+ crashed during the critical section, then the same
+-.B --backup-file
++.B \-\-backup\-file
+ must be presented to
+-.B --assemble
++.B \-\-assemble
+ to allow possibly corrupted data to be restored.
+
+ .TP
+-.BR -U ", " --update=
++.BR \-U ", " \-\-update=
+ Update the superblock on each device while assembling the array. The
+ argument given to this flag can be one of
+ .BR sparc2.2 ,
+@@ -743,28 +743,28 @@
+ .BR byteorder ,
+ .BR devicesize ,
+ or
+-.BR super-minor .
++.BR super\-minor .
+
+ The
+ .B sparc2.2
+ option will adjust the superblock of an array what was created on a Sparc
+ machine running a patched 2.2 Linux kernel. This kernel got the
+ alignment of part of the superblock wrong. You can use the
+-.B "--examine --sparc2.2"
++.B "\-\-examine \-\-sparc2.2"
+ option to
+ .I mdadm
+ to see what effect this would have.
+
+ The
+-.B super-minor
++.B super\-minor
+ option will update the
+ .B "preferred minor"
+ field on each superblock to match the minor number of the array being
+ assembled.
+ This can be useful if
+-.B --examine
++.B \-\-examine
+ reports a different "Preferred Minor" to
+-.BR --detail .
++.BR \-\-detail .
+ In some cases this update will be performed automatically
+ by the kernel driver. In particular the update happens automatically
+ at the first write to an array with redundancy (RAID level 1 or
+@@ -773,12 +773,12 @@
+ The
+ .B uuid
+ option will change the uuid of the array. If a UUID is given with the
+-.B --uuid
++.B \-\-uuid
+ option that UUID will be used as a new UUID and will
+ .B NOT
+ be used to help identify the devices in the array.
+ If no
+-.B --uuid
++.B \-\-uuid
+ is given, a random UUID is chosen.
+
+ The
+@@ -810,7 +810,7 @@
+ option allows arrays to be moved between machines with different
+ byte-order.
+ When assembling such an array for the first time after a move, giving
+-.B "--update=byteorder"
++.B "\-\-update=byteorder"
+ will cause
+ .I mdadm
+ to expect superblocks to have their byteorder reversed, and will
+@@ -832,14 +832,14 @@
+ array becomes larger, the metadata will still be visible, but the
+ extra space will not. In this case it might be useful to assemble the
+ array with
+-.BR --update=devicesize .
++.BR \-\-update=devicesize .
+ This will cause
+ .I mdadm
+ to determine the maximum usable amount of space on each device and
+ update the relevant field in the metadata.
+
+ .TP
+-.B --auto-update-homehost
++.B \-\-auto\-update\-homehost
+ This flag is only meaning with auto-assembly (see discussion below).
+ In that situation, if no suitable arrays are found for this homehost,
+ .I mdadm
+@@ -849,26 +849,26 @@
+ .SH For Manage mode:
+
+ .TP
+-.BR -a ", " --add
++.BR \-a ", " \-\-add
+ hot-add listed devices.
+
+ .TP
+-.BR --re-add
++.BR \-\-re\-add
+ re-add a device that was recently removed from an array.
+
+ .TP
+-.BR -r ", " --remove
++.BR \-r ", " \-\-remove
+ remove listed devices. They must not be active. i.e. they should
+ be failed or spare devices.
+
+ .TP
+-.BR -f ", " --fail
++.BR \-f ", " \-\-fail
+ mark listed devices as faulty.
+
+ .TP
+-.BR --set-faulty
++.BR \-\-set\-faulty
+ same as
+-.BR --fail .
++.BR \-\-fail .
+
+ .P
+ Each of these options require that the first device list is the array
+@@ -876,7 +876,7 @@
+ removed, or marked as fault. Several different operations can be
+ specified for different devices, e.g.
+ .in +5
+-mdadm /dev/md0 --add /dev/sda1 --fail /dev/sdb1 --remove /dev/sdb1
++mdadm /dev/md0 \-\-add /dev/sda1 \-\-fail /dev/sdb1 \-\-remove /dev/sdb1
+ .in -5
+ Each operation applies to all devices listed until the next
+ operations.
+@@ -886,9 +886,9 @@
+ reconstruction but instead just updated the blocks that have changed
+ since the device was removed. For arrays with persistent metadata
+ (superblocks) this is done automatically. For arrays created with
+-.B --build
++.B \-\-build
+ mdadm needs to be told that this device we removed recently with
+-.BR --re-add .
++.BR \-\-re\-add .
+
+ Devices can only be removed from an array if they are not in active
+ use. i.e. that must be spares or failed devices. To remove an active
+@@ -899,69 +899,69 @@
+ .SH For Misc mode:
+
+ .TP
+-.BR -Q ", " --query
++.BR \-Q ", " \-\-query
+ Examine a device to see
+ (1) if it is an md device and (2) if it is a component of an md
+ array.
+ Information about what is discovered is presented.
+
+ .TP
+-.BR -D ", " --detail
++.BR \-D ", " \-\-detail
+ Print detail of one or more md devices.
+
+ .TP
+-.BR -E ", " --examine
++.BR \-E ", " \-\-examine
+ Print content of md superblock on device(s).
+ .TP
+-.B --sparc2.2
++.B \-\-sparc2.2
+ If an array was created on a 2.2 Linux kernel patched with RAID
+ support, the superblock will have been created incorrectly, or at
+ least incompatibly with 2.4 and later kernels. Using the
+-.B --sparc2.2
++.B \-\-sparc2.2
+ flag with
+-.B --examine
++.B \-\-examine
+ will fix the superblock before displaying it. If this appears to do
+ the right thing, then the array can be successfully assembled using
+-.BR "--assemble --update=sparc2.2" .
++.BR "\-\-assemble \-\-update=sparc2.2" .
+
+ .TP
+-.BR -X ", " --examine-bitmap
++.BR \-X ", " \-\-examine\-bitmap
+ Report information about a bitmap file.
+
+ .TP
+-.BR -R ", " --run
++.BR \-R ", " \-\-run
+ start a partially built array.
+
+ .TP
+-.BR -S ", " --stop
++.BR \-S ", " \-\-stop
+ deactivate array, releasing all resources.
+
+ .TP
+-.BR -o ", " --readonly
++.BR \-o ", " \-\-readonly
+ mark array as readonly.
+
+ .TP
+-.BR -w ", " --readwrite
++.BR \-w ", " \-\-readwrite
+ mark array as readwrite.
+
+ .TP
+-.B --zero-superblock
++.B \-\-zero\-superblock
+ If the device contains a valid md superblock, the block is
+ overwritten with zeros. With
+-.B --force
++.B \-\-force
+ the block where the superblock would be is overwritten even if it
+ doesn't appear to be valid.
+
+ .TP
+-.BR -t ", " --test
++.BR \-t ", " \-\-test
+ When used with
+-.BR --detail ,
++.BR \-\-detail ,
+ the exit status of
+ .I mdadm
+ is set to reflect the status of the device.
+
+ .TP
+-.BR -W ", " --wait
++.BR \-W ", " \-\-wait
+ For each md device given, wait for any resync, recovery, or reshape
+ activity to finish before returning.
+ .I mdadm
+@@ -970,7 +970,7 @@
+
+ .SH For Incremental Assembly mode:
+ .TP
+-.BR --rebuild-map ", " -r
++.BR \-\-rebuild\-map ", " \-r
+ Rebuild the map file
+ .RB ( /var/run/mdadm/map )
+ that
+@@ -978,14 +978,14 @@
+ uses to help track which arrays are currently being assembled.
+
+ .TP
+-.BR --run ", " -R
++.BR \-\-run ", " \-R
+ Run any array assembled as soon as a minimal number of devices are
+ available, rather than waiting until all expected devices are present.
+
+ .TP
+-.BR --scan ", " -s
++.BR \-\-scan ", " \-s
+ Only meaningful with
+-.B -R
++.B \-R
+ this will scan the
+ .B map
+ file for arrays that are being incrementally assembled and will try to
+@@ -996,46 +996,46 @@
+
+ .SH For Monitor mode:
+ .TP
+-.BR -m ", " --mail
++.BR \-m ", " \-\-mail
+ Give a mail address to send alerts to.
+
+ .TP
+-.BR -p ", " --program ", " --alert
++.BR \-p ", " \-\-program ", " \-\-alert
+ Give a program to be run whenever an event is detected.
+
+ .TP
+-.BR -y ", " --syslog
++.BR \-y ", " \-\-syslog
+ Cause all events to be reported through 'syslog'. The messages have
+ facility of 'daemon' and varying priorities.
+
+ .TP
+-.BR -d ", " --delay
++.BR \-d ", " \-\-delay
+ Give a delay in seconds.
+ .B mdadm
+ polls the md arrays and then waits this many seconds before polling
+ again. The default is 60 seconds.
+
+ .TP
+-.BR -f ", " --daemonise
++.BR \-f ", " \-\-daemonise
+ Tell
+ .B mdadm
+ to run as a background daemon if it decides to monitor anything. This
+ causes it to fork and run in the child, and to disconnect form the
+ terminal. The process id of the child is written to stdout.
+ This is useful with
+-.B --scan
++.B \-\-scan
+ which will only continue monitoring if a mail address or alert program
+ is found in the config file.
+
+ .TP
+-.BR -i ", " --pid-file
++.BR \-i ", " \-\-pid\-file
+ When
+ .B mdadm
+ is running in daemon mode, write the pid of the daemon process to
+ the specified file, instead of printing it on standard output.
+
+ .TP
+-.BR -1 ", " --oneshot
++.BR \-1 ", " \-\-oneshot
+ Check arrays only once. This will generate
+ .B NewArray
+ events and more significantly
+@@ -1044,12 +1044,12 @@
+ .B SparesMissing
+ events. Running
+ .in +5
+-.B " mdadm --monitor --scan -1"
++.B " mdadm \-\-monitor \-\-scan \-1"
+ .in -5
+ from a cron script will ensure regular notification of any degraded arrays.
+
+ .TP
+-.BR -t ", " --test
++.BR \-t ", " \-\-test
+ Generate a
+ .B TestMessage
+ alert for every array found at startup. This alert gets mailed and
+@@ -1060,15 +1060,15 @@
+
+ .HP 12
+ Usage:
+-.B mdadm --assemble
++.B mdadm \-\-assemble
+ .I md-device options-and-component-devices...
+ .HP 12
+ Usage:
+-.B mdadm --assemble --scan
++.B mdadm \-\-assemble \-\-scan
+ .I md-devices-and-options...
+ .HP 12
+ Usage:
+-.B mdadm --assemble --scan
++.B mdadm \-\-assemble \-\-scan
+ .I options...
+
+ .PP
+@@ -1077,7 +1077,7 @@
+ array, and a number of component-devices. These can be found in a number of ways.
+
+ In the first usage example (without the
+-.BR --scan )
++.BR \-\-scan )
+ the first device given is the md device.
+ In the second usage example, all devices listed are treated as md
+ devices and assembly is attempted.
+@@ -1085,51 +1085,51 @@
+ listed in the configuration file are assembled.
+
+ If precisely one device is listed, but
+-.B --scan
++.B \-\-scan
+ is not given, then
+ .I mdadm
+ acts as though
+-.B --scan
++.B \-\-scan
+ was given and identify information is extracted from the configuration file.
+
+ The identity can be given with the
+-.B --uuid
++.B \-\-uuid
+ option, with the
+-.B --super-minor
++.B \-\-super-minor
+ option, can be found in the config file, or will be taken from the
+ super block on the first component-device listed on the command line.
+
+ Devices can be given on the
+-.B --assemble
++.B \-\-assemble
+ command line or in the config file. Only devices which have an md
+ superblock which contains the right identity will be considered for
+ any array.
+
+ The config file is only used if explicitly named with
+-.B --config
++.B \-\-config
+ or requested with (a possibly implicit)
+-.BR --scan .
++.BR \-\-scan .
+ In the later case,
+ .B /etc/mdadm/mdadm.conf
+ is used.
+
+ If
+-.B --scan
++.B \-\-scan
+ is not given, then the config file will only be used to find the
+ identity of md arrays.
+
+ Normally the array will be started after it is assembled. However if
+-.B --scan
++.B \-\-scan
+ is not given and insufficient drives were listed to start a complete
+ (non-degraded) array, then the array is not started (to guard against
+ usage errors). To insist that the array be started in this case (as
+ may work for RAID1, 4, 5, 6, or 10), give the
+-.B --run
++.B \-\-run
+ flag.
+
+ If the md device does not exist, then it will be created providing the
+ intent is clear. i.e. the name must be in a standard form, or the
+-.B --auto
++.B \-\-auto
+ option must be given to clarify how and whether the device should be
+ created.
+
+@@ -1161,16 +1161,16 @@
+ ends with a digit.
+
+ The
+-.B --auto
++.B \-\-auto
+ option is also available in Build and Create modes. As those modes do
+ not use a config file, the "auto=" config option does not apply to
+ these modes.
+
+ .SS Auto Assembly
+ When
+-.B --assemble
++.B \-\-assemble
+ is used with
+-.B --scan
++.B \-\-scan
+ and no devices are listed,
+ .I mdadm
+ will first attempt to assemble all the arrays listed in the config
+@@ -1207,12 +1207,12 @@
+ If
+ .I mdadm
+ cannot find any array for the given host at all, and if
+-.B --auto-update-homehost
++.B \-\-auto\-update\-homehost
+ is given, then
+ .I mdadm
+ will search again for any array (not just an array created for this
+ host) and will assemble each assuming
+-.BR --update=homehost .
++.BR \-\-update=homehost .
+ This will change the host tag in the superblock so that on the next run,
+ these arrays will be found without the second pass. The intention of
+ this feature is to support transitioning a set of md arrays to using
+@@ -1226,16 +1226,16 @@
+
+ .HP 12
+ Usage:
+-.B mdadm --build
++.B mdadm \-\-build
+ .I device
+-.BI --chunk= X
+-.BI --level= Y
+-.BI --raid-devices= Z
++.BI \-\-chunk= X
++.BI \-\-level= Y
++.BI \-\-raid\-devices= Z
+ .I devices
+
+ .PP
+ This usage is similar to
+-.BR --create .
++.BR \-\-create .
+ The difference is that it creates an array without a superblock. With
+ these arrays there is no difference between initially creating the array and
+ subsequently assembling the array, except that hopefully there is useful
+@@ -1249,12 +1249,12 @@
+
+ .HP 12
+ Usage:
+-.B mdadm --create
++.B mdadm \-\-create
+ .I device
+-.BI --chunk= X
+-.BI --level= Y
++.BI \-\-chunk= X
++.BI \-\-level= Y
+ .br
+-.BI --raid-devices= Z
++.BI \-\-raid\-devices= Z
+ .I devices
+
+ .PP
+@@ -1262,7 +1262,7 @@
+ it, and activate the array.
+
+ If the
+-.B --auto
++.B \-\-auto
+ option is given (as described in more detail in the section on
+ Assemble mode), then the md device will be created with a suitable
+ device number if necessary.
+@@ -1273,7 +1273,7 @@
+
+ If any discrepancy is found, the array will not automatically be run, though
+ the presence of a
+-.B --run
++.B \-\-run
+ can override this caution.
+
+ To create a "degraded" array in which some devices are missing, simply
+@@ -1293,13 +1293,13 @@
+ This is because building the spare into a degraded array is in general faster than resyncing
+ the parity on a non-degraded, but not clean, array. This feature can
+ be overridden with the
+-.B --force
++.B \-\-force
+ option.
+
+ When creating an array with version-1 metadata a name for the host is
+ required.
+ If this is not given with the
+-.B --name
++.B \-\-name
+ option,
+ .I mdadm
+ will chose a name based on the last component of the name of the
+@@ -1317,32 +1317,32 @@
+ A new array will normally get a randomly assigned 128bit UUID which is
+ very likely to be unique. If you have a specific need, you can choose
+ a UUID for the array by giving the
+-.B --uuid=
++.B \-\-uuid=
+ option. Be warned that creating two arrays with the same UUID is a
+ recipe for disaster. Also, using
+-.B --uuid=
++.B \-\-uuid=
+ when creating a v0.90 array will silently override any
+-.B --homehost=
++.B \-\-homehost=
+ setting.
+ '''If the
+-'''.B --size
++'''.B \-\-size
+ '''option is given, it is not necessary to list any component-devices in this command.
+ '''They can be added later, before a
+-'''.B --run.
++'''.B \-\-run.
+ '''If no
+-'''.B --size
++'''.B \-\-size
+ '''is given, the apparent size of the smallest drive given is used.
+
+ The General Management options that are valid with
+-.B --create
++.B \-\-create
+ are:
+ .TP
+-.B --run
++.B \-\-run
+ insist on running the array even if some devices look like they might
+ be in use.
+
+ .TP
+-.B --readonly
++.B \-\-readonly
+ start the array readonly \(em not supported yet.
+
+
+@@ -1358,7 +1358,7 @@
+ removed or added. It is possible to perform multiple operations with
+ on command. For example:
+ .br
+-.B " mdadm /dev/md0 -f /dev/hda1 -r /dev/hda1 -a /dev/hda1"
++.B " mdadm /dev/md0 \-f /dev/hda1 \-r /dev/hda1 \-a /dev/hda1"
+ .br
+ will firstly mark
+ .B /dev/hda1
+@@ -1379,20 +1379,20 @@
+ MISC mode includes a number of distinct operations that
+ operate on distinct devices. The operations are:
+ .TP
+---query
++\-\-query
+ The device is examined to see if it is
+ (1) an active md array, or
+ (2) a component of an md array.
+ The information discovered is reported.
+
+ .TP
+---detail
++\-\-detail
+ The device should be an active md device.
+ .B mdadm
+ will display a detailed description of the array.
+-.B --brief
++.B \-\-brief
+ or
+-.B --scan
++.B \-\-scan
+ will cause the output to be less detailed and the format to be
+ suitable for inclusion in
+ .BR /etc/mdadm/mdadm.conf .
+@@ -1401,7 +1401,7 @@
+ will normally be 0 unless
+ .I mdadm
+ failed to get useful information about the device(s). However if the
+-.B --test
++.B \-\-test
+ option is given, then the exit status will be:
+ .RS
+ .TP
+@@ -1420,54 +1420,54 @@
+ .RE
+
+ .TP
+---examine
++\-\-examine
+ The device should be a component of an md array.
+ .B mdadm
+ will read the md superblock of the device and display the contents.
+ If
+-.B --brief
++.B \-\-brief
+ is given, or
+-.B --scan
++.B \-\-scan
+ then multiple devices that are components of the one array
+ are grouped together and reported in a single entry suitable
+ for inclusion in
+ .BR /etc/mdadm/mdadm.conf .
+
+ Having
+-.B --scan
++.B \-\-scan
+ without listing any devices will cause all devices listed in the
+ config file to be examined.
+
+ .TP
+---stop
++\-\-stop
+ The devices should be active md arrays which will be deactivated, as
+ long as they are not currently in use.
+
+ .TP
+---run
++\-\-run
+ This will fully activate a partially assembled md array.
+
+ .TP
+---readonly
++\-\-readonly
+ This will mark an active array as read-only, providing that it is
+ not currently being used.
+
+ .TP
+---readwrite
++\-\-readwrite
+ This will change a
+ .B readonly
+ array back to being read/write.
+
+ .TP
+---scan
++\-\-scan
+ For all operations except
+-.BR --examine ,
+-.B --scan
++.BR \-\-examine ,
++.B \-\-scan
+ will cause the operation to be applied to all arrays listed in
+ .BR /proc/mdstat .
+ For
+-.BR --examine,
+-.B --scan
++.BR \-\-examine,
++.B \-\-scan
+ causes all devices listed in the config file to be examined.
+
+
+@@ -1475,7 +1475,7 @@
+
+ .HP 12
+ Usage:
+-.B mdadm --monitor
++.B mdadm \-\-monitor
+ .I options... devices...
+
+ .PP
+@@ -1498,7 +1498,7 @@
+ .B mdadm
+ will only monitor those devices. Otherwise all arrays listed in the
+ configuration file will be monitored. Further, if
+-.B --scan
++.B \-\-scan
+ is given, then any other md devices that appear in
+ .B /proc/mdstat
+ will also be monitored.
+@@ -1514,13 +1514,13 @@
+ device if relevant, such as a component device that has failed.
+
+ If
+-.B --scan
++.B \-\-scan
+ is given, then a program or an E-mail address must be specified on the
+ command line or in the config file. If neither are available, then
+ .B mdadm
+ will not monitor anything.
+ Without
+-.B --scan
++.B \-\-scan
+ .B mdadm
+ will continue monitoring as long as something was found to monitor. If
+ no program or email is given, then each event is reported to
+@@ -1615,7 +1615,7 @@
+ .TP
+ .B TestMessage
+ An array was found at startup, and the
+-.B --test
++.B \-\-test
+ flag was given.
+ (syslog priority: Info)
+ .RE
+@@ -1723,10 +1723,10 @@
+ that is in that section. This backup is normally stored in any spare
+ devices that the array has, however it can also be stored in a
+ separate file specified with the
+-.B --backup-file
++.B \-\-backup\-file
+ option. If this option is used, and the system does crash during the
+ critical period, the same file must be passed to
+-.B --assemble
++.B \-\-assemble
+ to restore the backup and reassemble the array.
+
+ .SS BITMAP CHANGES
+@@ -1741,23 +1741,23 @@
+
+ .HP 12
+ Usage:
+-.B mdadm --incremental
+-.RB [ --run ]
+-.RB [ --quiet ]
++.B mdadm \-\-incremental
++.RB [ \-\-run ]
++.RB [ \-\-quiet ]
+ .I component-device
+ .HP 12
+ Usage:
+-.B mdadm --incremental --rebuild
++.B mdadm \-\-incremental \-\-rebuild
+ .HP 12
+ Usage:
+-.B mdadm --incremental --run --scan
++.B mdadm \-\-incremental \-\-run \-\-scan
+
+
+ .PP
+ This mode is designed to be used in conjunction with a device
+ discovery system. As devices are found in a system, they can be
+ passed to
+-.B "mdadm --incremental"
++.B "mdadm \-\-incremental"
+ to be conditionally added to an appropriate array.
+
+ .I mdadm
+@@ -1773,13 +1773,13 @@
+ (active or spare) parts of that array. It does not currently support
+ automatic inclusion of a new drive as a spare in some array.
+
+-.B "mdadm --incremental"
++.B "mdadm \-\-incremental"
+ requires a bug present in all kernels through 2.6.19, to be fixed.
+ Hopefully this will be fixed in 2.6.20. Alternately apply the patch
+ which is included with the mdadm source distribution. If
+ .I mdadm
+ detects that this bug is present, it will abort any attempt to use
+-.BR --incremental .
++.BR \-\-incremental .
+
+ The tests that
+ .I mdadm
+@@ -1804,9 +1804,9 @@
+ .IP +
+ Does the device have a valid md superblock. If a specific metadata
+ version is request with
+-.B --metadata
++.B \-\-metadata
+ or
+-.B -e
++.B \-e
+ then only that style of metadata is accepted, otherwise
+ .I mdadm
+ finds any known version of metadata. If no
+@@ -1864,7 +1864,7 @@
+ that if any devices are missing the array will not be restarted.
+
+ As an alternative,
+-.B --run
++.B \-\-run
+ may be passed to
+ .B mdadm
+ in which case the array will be run as soon as there are enough
+@@ -1875,7 +1875,7 @@
+ Note that neither of these approaches is really ideal. If it is can
+ be known that all device discovery has completed, then
+ .br
+-.B " mdadm -IRs"
++.B " mdadm \-IRs"
+ .br
+ can be run which will try to start all arrays that are being
+ incrementally assembled. They are started in "read-auto" mode in
+@@ -1886,45 +1886,45 @@
+
+ .SH EXAMPLES
+
+-.B " mdadm --query /dev/name-of-device"
++.B " mdadm \-\-query /dev/name-of-device"
+ .br
+ This will find out if a given device is a raid array, or is part of
+ one, and will provide brief information about the device.
+
+-.B " mdadm --assemble --scan"
++.B " mdadm \-\-assemble \-\-scan"
+ .br
+ This will assemble and start all arrays listed in the standard config file
+ file. This command will typically go in a system startup file.
+
+-.B " mdadm --stop --scan"
++.B " mdadm \-\-stop \-\-scan"
+ .br
+ This will shut down all array that can be shut down (i.e. are not
+ currently in use). This will typically go in a system shutdown script.
+
+-.B " mdadm --follow --scan --delay=120"
++.B " mdadm \-\-follow \-\-scan \-\-delay=120"
+ .br
+ If (and only if) there is an Email address or program given in the
+ standard config file, then
+ monitor the status of all arrays listed in that file by
+ polling them ever 2 minutes.
+
+-.B " mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/hd[ac]1"
++.B " mdadm \-\-create /dev/md0 \-\-level=1 \-\-raid\-devices=2 /dev/hd[ac]1"
+ .br
+ Create /dev/md0 as a RAID1 array consisting of /dev/hda1 and /dev/hdc1.
+
+ .br
+-.B " echo 'DEVICE /dev/hd*[0-9] /dev/sd*[0-9]' > mdadm.conf"
++.B " echo 'DEVICE /dev/hd*[0\-9] /dev/sd*[0\-9]' > mdadm.conf"
+ .br
+-.B " mdadm --detail --scan >> mdadm.conf"
++.B " mdadm \-\-detail \-\-scan >> mdadm.conf"
+ .br
+ This will create a prototype config file that describes currently
+ active arrays that are known to be made from partitions of IDE or SCSI drives.
+ This file should be reviewed before being used as it may
+ contain unwanted detail.
+
+-.B " echo 'DEVICE /dev/hd[a-z] /dev/sd*[a-z]' > mdadm.conf"
++.B " echo 'DEVICE /dev/hd[a\-z] /dev/sd*[a\-z]' > mdadm.conf"
+ .br
+-.B " mdadm --examine --scan --config=mdadm.conf >> mdadm.conf"
++.B " mdadm \-\-examine \-\-scan \-\-config=mdadm.conf >> mdadm.conf"
+ .ber
+ This will find what arrays could be assembled from existing IDE and
+ SCSI whole drives (not partitions) and store the information is the
+@@ -1935,16 +1935,16 @@
+ entries. It should be reviewed and edited before being used as an
+ actual config file.
+
+-.B " mdadm --examine --brief --scan --config=partitions"
++.B " mdadm \-\-examine \-\-brief \-\-scan \-\-config=partitions"
+ .br
+-.B " mdadm -Ebsc partitions"
++.B " mdadm \-Ebsc partitions"
+ .br
+ Create a list of devices by reading
+ .BR /proc/partitions ,
+ scan these for RAID superblocks, and printout a brief listing of all
+ that was found.
+
+-.B " mdadm -Ac partitions -m 0 /dev/md0"
++.B " mdadm \-Ac partitions \-m 0 /dev/md0"
+ .br
+ Scan all partitions and devices listed in
+ .BR /proc/partitions
+@@ -1952,32 +1952,32 @@
+ .B /dev/md0
+ out of all such devices with a RAID superblock with a minor number of 0.
+
+-.B " mdadm --monitor --scan --daemonise > /var/run/mdadm"
++.B " mdadm \-\-monitor \-\-scan \-\-daemonise > /var/run/mdadm"
+ .br
+ If config file contains a mail address or alert program, run mdadm in
+ the background in monitor mode monitoring all md devices. Also write
+ pid of mdadm daemon to
+ .BR /var/run/mdadm .
+
+-.B " mdadm -Iq /dev/somedevice"
++.B " mdadm \-Iq /dev/somedevice"
+ .br
+ Try to incorporate newly discovered device into some array as
+ appropriate.
+
+-.B " mdadm --incremental --rebuild --run --scan"
++.B " mdadm \-\-incremental \-\-rebuild \-\-run \-\-scan"
+ .br
+ Rebuild the array map from any current arrays, and then start any that
+ can be started.
+
+-.B " mdadm --create --help"
++.B " mdadm \-\-create \-\-help"
+ .br
+ Provide help about the Create mode.
+
+-.B " mdadm --config --help"
++.B " mdadm \-\-config \-\-help"
+ .br
+ Provide help about the format of the config file.
+
+-.B " mdadm --help"
++.B " mdadm \-\-help"
+ .br
+ Provide general help.
+
+@@ -1993,7 +1993,7 @@
+ lists all active md devices with information about them.
+ .B mdadm
+ uses this to find arrays when
+-.B --scan
++.B \-\-scan
+ is given in Misc mode, and to monitor array reconstruction
+ on Monitor mode.
+
+@@ -2008,7 +2008,7 @@
+
+ .SS /var/run/mdadm/map
+ When
+-.B --incremental
++.B \-\-incremental
+ mode is used. this file gets a list of arrays currently being created.
+ If
+ .B /var/run/mdadm
+@@ -2022,7 +2022,7 @@
+ .I mdadm
+ has an understanding of 'standard' formats which it uses to guide its
+ behaviour when creating device files via the
+-.B --auto
++.B \-\-auto
+ option.
+
+ The standard names for non-partitioned arrays (the only sort of md
+@@ -2059,8 +2059,8 @@
+ RAID, check out:
+
+ .IP
+-.UR http://ostenfeld.dk/~jakob/Software-RAID.HOWTO/
+-http://ostenfeld.dk/~jakob/Software-RAID.HOWTO/
++.UR http://ostenfeld.dk/~jakob/Software\-RAID.HOWTO/
++http://ostenfeld.dk/~jakob/Software\-RAID.HOWTO/
+ .UE
+ '''.PP
+ '''for new releases of the RAID driver check out:
+diff -urNad mdadm-2.6.1~/mdadm.8.orig mdadm-2.6.1/mdadm.8.orig
+--- mdadm-2.6.1~/mdadm.8.orig 2007-03-13 19:24:49.000000000 +0100
++++ mdadm-2.6.1/mdadm.8.orig 2007-03-13 19:24:50.000000000 +0100
+@@ -159,37 +159,37 @@
+ .SH Options for selecting a mode are:
+
+ .TP
+-.BR -A ", " --assemble
++.BR \-A ", " \-\-assemble
+ Assemble a pre-existing array.
+
+ .TP
+-.BR -B ", " --build
++.BR \-B ", " \-\-build
+ Build a legacy array without superblocks.
+
+ .TP
+-.BR -C ", " --create
++.BR \-C ", " \-\-create
+ Create a new array.
+
+ .TP
+-.BR -F ", " --follow ", " --monitor
++.BR \-F ", " \-\-follow ", " \-\-monitor
+ Select
+ .B Monitor
+ mode.
+
+ .TP
+-.BR -G ", " --grow
++.BR \-G ", " \-\-grow
+ Change the size or shape of an active array.
+
+ .TP
+-.BE -I ", " --incremental
++.BE \-I ", " \-\-incremental
+ Add a single device into an appropriate array, and possibly start the array.
+
+ .P
+ If a device is given before any options, or if the first option is
+-.BR --add ,
+-.BR --fail ,
++.BR \-\-add ,
++.BR \-\-fail ,
+ or
+-.BR --remove ,
++.BR \-\-remove ,
+ then the MANAGE mode is assume.
+ Anything other than these will cause the
+ .B Misc
+@@ -198,53 +198,53 @@
+ .SH Options that are not mode-specific are:
+
+ .TP
+-.BR -h ", " --help
++.BR \-h ", " \-\-help
+ Display general help message or, after one of the above options, a
+ mode specific help message.
+
+ .TP
+-.B --help-options
++.B \-\-help\-options
+ Display more detailed help about command line parsing and some commonly
+ used options.
+
+ .TP
+-.BR -V ", " --version
++.BR \-V ", " \-\-version
+ Print version information for mdadm.
+
+ .TP
+-.BR -v ", " --verbose
++.BR \-v ", " \-\-verbose
+ Be more verbose about what is happening. This can be used twice to be
+ extra-verbose.
+ The extra verbosity currently only affects
+-.B --detail --scan
++.B \-\-detail \-\-scan
+ and
+-.BR "--examine --scan" .
++.BR "\-\-examine \-\-scan" .
+
+ .TP
+-.BR -q ", " --quiet
++.BR \-q ", " \-\-quiet
+ Avoid printing purely informative messages. With this,
+ .B mdadm
+ will be silent unless there is something really important to report.
+
+ .TP
+-.BR -b ", " --brief
++.BR \-b ", " \-\-brief
+ Be less verbose. This is used with
+-.B --detail
++.B \-\-detail
+ and
+-.BR --examine .
++.BR \-\-examine .
+ Using
+-.B --brief
++.B \-\-brief
+ with
+-.B --verbose
++.B \-\-verbose
+ gives an intermediate level of verbosity.
+
+ .TP
+-.BR -f ", " --force
++.BR \-f ", " \-\-force
+ Be more forceful about certain operations. See the various modes of
+ the exact meaning of this option in different contexts.
+
+ .TP
+-.BR -c ", " --config=
++.BR \-c ", " \-\-config=
+ Specify the config file. Default is to use
+ .BR /etc/mdadm/mdadm.conf ,
+ or if that is missing, then
+@@ -265,7 +265,7 @@
+ will act as though the config file were empty.
+
+ .TP
+-.BR -s ", " --scan
++.BR \-s ", " \-\-scan
+ scan config file or
+ .B /proc/mdstat
+ for missing information.
+@@ -276,18 +276,20 @@
+ configuration file:
+ .BR /etc/mdadm/mdadm.conf .
+ One exception is MISC mode when using
+-.B --detail
++.B \-\-detail
+ or
+-.B --stop
++.B \-\-stop
+ in which case
+-.B --scan
++.B \-\-scan
+ says to get a list of array devices from
+ .BR /proc/mdstat .
+
+ .TP
+-.B -e ", " --metadata=
++.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.
++default is 0.90 for
++.BR \-\-create ,
++and to guess for other operations.
+ The default can be overridden by setting the
+ .B metadata
+ value for the
+@@ -309,7 +311,7 @@
+ .RE
+
+ .TP
+-.B --homehost=
++.B \-\-homehost=
+ This will override any
+ .B HOMEHOST
+ setting in the config file and provides the identify of the host which
+@@ -331,26 +333,26 @@
+ .SH For create, build, or grow:
+
+ .TP
+-.BR -n ", " --raid-devices=
++.BR \-n ", " \-\-raid\-devices=
+ Specify the number of active devices in the array. This, plus the
+ number of spare devices (see below) must equal the number of
+ .I component-devices
+ (including "\fBmissing\fP" devices)
+ that are listed on the command line for
+-.BR --create .
++.BR \-\-create .
+ Setting a value of 1 is probably
+ a mistake and so requires that
+-.B --force
++.B \-\-force
+ be specified first. A value of 1 will then be allowed for linear,
+ multipath, raid0 and raid1. It is never allowed for raid4 or raid5.
+ .br
+ This number can only be changed using
+-.B --grow
++.B \-\-grow
+ for RAID1, RAID5 and RAID6 arrays, and only on kernels which provide
+ necessary support.
+
+ .TP
+-.BR -x ", " --spare-devices=
++.BR \-x ", " \-\-spare\-devices=
+ Specify the number of spare (eXtra) devices in the initial array.
+ Spares can also be added
+ and removed later. The number of component devices listed
+@@ -359,7 +361,7 @@
+
+
+ .TP
+-.BR -z ", " --size=
++.BR \-z ", " \-\-size=
+ Amount (in Kibibytes) of space to use from each drive in RAID1/4/5/6.
+ This must be a multiple of the chunk size, and must leave about 128Kb
+ of space at the end of the drive for the RAID superblock.
+@@ -369,67 +371,62 @@
+ issued.
+
+ This value can be set with
+-.B --grow
++.B \-\-grow
+ for RAID level 1/4/5/6. If the array was created with a size smaller
+ than the currently active drives, the extra space can be accessed
+ using
+-.BR --grow .
++.BR \-\-grow .
+ The size can be given as
+ .B max
+ which means to choose the largest size that fits on all current drives.
+
+ .TP
+-.BR -c ", " --chunk=
++.BR \-c ", " \-\-chunk=
+ Specify chunk size of kibibytes. The default is 64.
+
+ .TP
+-.BR --rounding=
++.BR \-\-rounding=
+ Specify rounding factor for linear array (==chunk size)
+
+ .TP
+-.BR -l ", " --level=
++.BR \-l ", " \-\-level=
+ Set raid level. When used with
+-.IR --create ,
++.BR \-\-create ,
+ options are: linear, raid0, 0, stripe, raid1, 1, mirror, raid4, 4,
+ raid5, 5, raid6, 6, raid10, 10, multipath, mp, faulty. Obviously some of these are synonymous.
+
+ When used with
+-.IR --build ,
++.BR \-\-build ,
+ only linear, stripe, raid0, 0, raid1, multipath, mp, and faulty are valid.
+
+ Not yet supported with
+-.IR --grow .
++.BR \-\-grow .
+
+ .TP
+-.BR -p ", " --layout=
++.BR \-p ", " \-\-layout=
+ This option configures the fine details of data layout for raid5,
+ and raid10 arrays, and controls the failure modes for
+ .IR faulty .
+
+ The layout of the raid5 parity block can be one of
+-left-asymmetric,
+-left-symmetric,
+-right-asymmetric,
+-right-symmetric,
+-la, ra, ls, rs. The default is left-symmetric.
++.BR left\-asymmetric ,
++.BR left\-symmetric ,
++.BR right\-asymmetric ,
++.BR right\-symmetric ,
++.BR la ", " ra ", " ls ", " rs .
++The default is
++.BR left\-symmetric .
+
+ When setting the failure mode for
+ .I faulty
+ the options are:
+-write-transient,
+-wt,
+-read-transient,
+-rt,
+-write-persistent,
+-wp,
+-read-persistent,
+-rp,
+-write-all,
+-read-fixable,
+-rf,
+-clear,
+-flush,
+-none.
++.BR write\-transient ", " wt ,
++.BR read\-transient ", " rt ,
++.BR write\-persistent ", " wp ,
++.BR read\-persistent ", " rp ,
++.BR write\-all ,
++.BR read\-fixable ", " rf ,
++.BR clear ", " flush ", " none .
+
+ Each mode can be followed by a number which is used as a period
+ between fault generation. Without a number, the fault is generated
+@@ -438,12 +435,15 @@
+ every time the period elapses.
+
+ Multiple failure modes can be current simultaneously by using the
+-"--grow" option to set subsequent failure modes.
++.B \-\-grow
++option to set subsequent failure modes.
+
+ "clear" or "none" will remove any pending or periodic failure modes,
+ and "flush" will clear any persistent faults.
+
+-To set the parity with "--grow", the level of the array ("faulty")
++To set the parity with
++.BR \-\-grow ,
++the level of the array ("faulty")
+ must be specified before the fault mode is specified.
+
+ Finally, the layout options for RAID10 are one of 'n', 'o' or 'p' followed
+@@ -472,21 +472,25 @@
+ with an odd number of devices).
+
+ .TP
+-.BR --parity=
+-same as --layout (thus explaining the p of
+-.IR -p ).
++.BR \-\-parity=
++same as
++.B \-\-layout
++(thus explaining the p of
++.BR \-p ).
+
+ .TP
+-.BR -b ", " --bitmap=
++.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
++exist unless
++.B \-\-force
++is also given. The same file should be provided
+ when assembling the array. If the word
+ .B internal
+ is given, then the bitmap is stored with the metadata on the array,
+ and so is replicated on all devices. If the word
+ .B none
+ is given with
+-.B --grow
++.B \-\-grow
+ mode, then any bitmap that is present is removed.
+
+ To help catch typing errors, the filename must contain at least one
+@@ -496,7 +500,7 @@
+ Storing bitmap files on other filesystems may result in serious problems.
+
+ .TP
+-.BR --bitmap-chunk=
++.BR \-\-bitmap\-chunk=
+ Set the chunksize of the bitmap. Each bit corresponds to that many
+ Kilobytes of storage.
+ When using a file based bitmap, the default is to use the smallest
+@@ -508,19 +512,19 @@
+
+
+ .TP
+-.BR -W ", " --write-mostly
++.BR \-W ", " \-\-write\-mostly
+ subsequent devices lists in a
+-.BR --build ,
+-.BR --create ,
++.BR \-\-build ,
++.BR \-\-create ,
+ or
+-.B --add
++.B \-\-add
+ command will be flagged as 'write-mostly'. This is valid for RAID1
+ only and means that the 'md' driver will avoid reading from these
+ devices if at all possible. This can be useful if mirroring over a
+ slow link.
+
+ .TP
+-.BR --write-behind=
++.BR \-\-write\-behind=
+ Specify that write-behind mode should be enabled (valid for RAID1
+ only). If an argument is specified, it will set the maximum number
+ of outstanding writes allowed. The default value is 256.
+@@ -529,7 +533,7 @@
+ .IR write-mostly .
+
+ .TP
+-.BR --assume-clean
++.BR \-\-assume\-clean
+ Tell
+ .I mdadm
+ that the array pre-existed and is known to be clean. It can be useful
+@@ -540,14 +544,16 @@
+ recommended. Use this ony if you really know what you are doing.
+
+ .TP
+-.BR --backup-file=
+-This is needed when --grow is used to increase the number of
++.BR \-\-backup\-file=
++This is needed when
++.B \-\-grow
++is used to increase the number of
+ raid-devices in a RAID5 if there are no spare devices available.
+ See the section below on RAID_DEVICE CHANGES. The file should be
+ stored on a separate device, not on the raid array being reshaped.
+
+ .TP
+-.BR -N ", " --name=
++.BR \-N ", " \-\-name=
+ Set a
+ .B name
+ for the array. This is currently only effective when creating an
+@@ -555,7 +561,7 @@
+ string that can be used to identify array components when assembling.
+
+ .TP
+-.BR -R ", " --run
++.BR \-R ", " \-\-run
+ Insist that
+ .I mdadm
+ run the array, even if some of the components
+@@ -565,7 +571,7 @@
+ array. This option causes that question to be suppressed.
+
+ .TP
+-.BR -f ", " --force
++.BR \-f ", " \-\-force
+ Insist that
+ .I mdadm
+ accept the geometry and layout specified without question. Normally
+@@ -573,12 +579,12 @@
+ will not allow creation of an array with only one device, and will try
+ to create a raid5 array with one missing drive (as this makes the
+ initial resync work faster). With
+-.BR --force ,
++.BR \-\-force ,
+ .I mdadm
+ will not try to be so clever.
+
+ .TP
+-.BR -a ", " "--auto{=no,yes,md,mdp,part,p}{NN}"
++.BR \-a ", " "\-\-auto{=no,yes,md,mdp,part,p}{NN}"
+ 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
+@@ -587,18 +593,20 @@
+ from this. See DEVICE NAMES below.
+
+ The argument can also come immediately after
+-"-a". e.g. "-ap".
++"\-a". e.g. "\-ap".
+
+-If --auto is not given on the command line or in the config file, then
++If
++.B \-\-auto
++is not given on the command line or in the config file, then
+ the default will be
+-.BR --auto=yes .
++.BR \-\-auto=yes .
+
+ If
+-.I --scan
++.B \-\-scan
+ is also given, then any
+ .I auto=
+ entries in the config file will override the
+-.I --auto
++.B \-\-auto
+ instruction given on the command line.
+
+ For partitionable arrays,
+@@ -606,7 +614,7 @@
+ 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 ).
++.BR \-\-auto=p7 ).
+ 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,
+@@ -621,9 +629,9 @@
+ non-standard name.
+
+ .TP
+-.BR --symlink = no
++.BR \-\-symlink = no
+ Normally when
+-.B --auto
++.B \-\-auto
+ causes
+ .I mdadm
+ to create devices in
+@@ -635,9 +643,9 @@
+ or
+ .BR md_ .
+ Use
+-.B --symlink=no
++.B \-\-symlink=no
+ to suppress this, or
+-.B --symlink=yes
++.B \-\-symlink=yes
+ to enforce this even if it is suppressing
+ .IR mdadm.conf .
+
+@@ -645,29 +653,29 @@
+ .SH For assemble:
+
+ .TP
+-.BR -u ", " --uuid=
++.BR \-u ", " \-\-uuid=
+ uuid of array to assemble. Devices which don't have this uuid are
+ excluded
+
+ .TP
+-.BR -m ", " --super-minor=
++.BR \-m ", " \-\-super\-minor=
+ Minor number of device that array was created for. Devices which
+ don't have this minor number are excluded. If you create an array as
+ /dev/md1, then all superblocks will contain the minor number 1, even if
+ the array is later assembled as /dev/md2.
+
+ Giving the literal word "dev" for
+-.B --super-minor
++.B \-\-super\-minor
+ will cause
+ .I mdadm
+ to use the minor number of the md device that is being assembled.
+ e.g. when assembling
+ .BR /dev/md0 ,
+-.M --super-minor=dev
++.M \-\-super\-minor=dev
+ will look for super blocks with a minor number of 0.
+
+ .TP
+-.BR -N ", " --name=
++.BR \-N ", " \-\-name=
+ Specify the name of the array to assemble. This must be the name
+ that was specified when creating the array. It must either match
+ then name stored in the superblock exactly, or it must match
+@@ -676,53 +684,54 @@
+ is added to the start of the given name.
+
+ .TP
+-.BR -f ", " --force
++.BR \-f ", " \-\-force
+ Assemble the array even if some superblocks appear out-of-date
+
+ .TP
+-.BR -R ", " --run
++.BR \-R ", " \-\-run
+ Attempt to start the array even if fewer drives were given than were
+ present last time the array was active. Normally if not all the
+ expected drives are found and
+-.B --scan
++.B \-\-scan
+ is not used, then the array will be assembled but not started.
+ With
+-.B --run
++.B \-\-run
+ an attempt will be made to start it anyway.
+
+ .TP
+-.B --no-degraded
++.B \-\-no\-degraded
+ This is the reverse of
+-.B --run
++.B \-\-run
+ in that it inhibits the started if array unless all expected drives
+ are present. This is only needed with
+-.B --scan
++.B \-\-scan
+ and can be used if you physical connections to devices are
+ not as reliable as you would like.
+
+ .TP
+-.BR -a ", " "--auto{=no,yes,md,mdp,part}"
++.BR \-a ", " "\-\-auto{=no,yes,md,mdp,part}"
+ See this option under Create and Build options.
+
+ .TP
+-.BR -b ", " --bitmap=
++.BR \-b ", " \-\-bitmap=
+ Specify the bitmap file that was given when the array was created. If
+ an array has an
+ .B internal
+ bitmap, there is no need to specify this when assembling the array.
+
+ .TP
+-.BR --backup-file=
++.BR \-\-backup\-file=
+ If
+-.B --backup-file
++.B \-\-backup\-file
+ was used to grow the number of raid-devices in a RAID5, and the system
+ crashed during the critical section, then the same
+-.B --backup-file
+-must be presented to --assemble to allow possibly corrupted data to be
+-restored.
++.B \-\-backup\-file
++must be presented to
++.B \-\-assemble
++to allow possibly corrupted data to be restored.
+
+ .TP
+-.BR -U ", " --update=
++.BR \-U ", " \-\-update=
+ Update the superblock on each device while assembling the array. The
+ argument given to this flag can be one of
+ .BR sparc2.2 ,
+@@ -734,28 +743,28 @@
+ .BR byteorder ,
+ .BR devicesize ,
+ or
+-.BR super-minor .
++.BR super\-minor .
+
+ The
+ .B sparc2.2
+ option will adjust the superblock of an array what was created on a Sparc
+ machine running a patched 2.2 Linux kernel. This kernel got the
+ alignment of part of the superblock wrong. You can use the
+-.B "--examine --sparc2.2"
++.B "\-\-examine \-\-sparc2.2"
+ option to
+ .I mdadm
+ to see what effect this would have.
+
+ The
+-.B super-minor
++.B super\-minor
+ option will update the
+ .B "preferred minor"
+ field on each superblock to match the minor number of the array being
+ assembled.
+ This can be useful if
+-.B --examine
++.B \-\-examine
+ reports a different "Preferred Minor" to
+-.BR --detail .
++.BR \-\-detail .
+ In some cases this update will be performed automatically
+ by the kernel driver. In particular the update happens automatically
+ at the first write to an array with redundancy (RAID level 1 or
+@@ -764,10 +773,13 @@
+ The
+ .B uuid
+ option will change the uuid of the array. If a UUID is given with the
+-"--uuid" option that UUID will be used as a new UUID and will
++.B \-\-uuid
++option that UUID will be used as a new UUID and will
+ .B NOT
+ be used to help identify the devices in the array.
+-If no "--uuid" is given, a random uuid is chosen.
++If no
++.B \-\-uuid
++is given, a random UUID is chosen.
+
+ The
+ .B name
+@@ -798,7 +810,7 @@
+ option allows arrays to be moved between machines with different
+ byte-order.
+ When assembling such an array for the first time after a move, giving
+-.B "--update=byteorder"
++.B "\-\-update=byteorder"
+ will cause
+ .I mdadm
+ to expect superblocks to have their byteorder reversed, and will
+@@ -820,14 +832,14 @@
+ array becomes larger, the metadata will still be visible, but the
+ extra space will not. In this case it might be useful to assemble the
+ array with
+-.BR --update=devicesize .
++.BR \-\-update=devicesize .
+ This will cause
+ .I mdadm
+ to determine the maximum usable amount of space on each device and
+ update the relevant field in the metadata.
+
+ .TP
+-.B --auto-update-homehost
++.B \-\-auto\-update\-homehost
+ This flag is only meaning with auto-assembly (see discussion below).
+ In that situation, if no suitable arrays are found for this homehost,
+ .I mdadm
+@@ -837,25 +849,26 @@
+ .SH For Manage mode:
+
+ .TP
+-.BR -a ", " --add
++.BR \-a ", " \-\-add
+ hot-add listed devices.
+
+ .TP
+-.BR --re-add
++.BR \-\-re\-add
+ re-add a device that was recently removed from an array.
+
+ .TP
+-.BR -r ", " --remove
++.BR \-r ", " \-\-remove
+ remove listed devices. They must not be active. i.e. they should
+ be failed or spare devices.
+
+ .TP
+-.BR -f ", " --fail
++.BR \-f ", " \-\-fail
+ mark listed devices as faulty.
+
+ .TP
+-.BR --set-faulty
+-same as --fail.
++.BR \-\-set\-faulty
++same as
++.BR \-\-fail .
+
+ .P
+ Each of these options require that the first device list is the array
+@@ -863,7 +876,7 @@
+ removed, or marked as fault. Several different operations can be
+ specified for different devices, e.g.
+ .in +5
+-mdadm /dev/md0 --add /dev/sda1 --fail /dev/sdb1 --remove /dev/sdb1
++mdadm /dev/md0 \-\-add /dev/sda1 \-\-fail /dev/sdb1 \-\-remove /dev/sdb1
+ .in -5
+ Each operation applies to all devices listed until the next
+ operations.
+@@ -873,9 +886,9 @@
+ reconstruction but instead just updated the blocks that have changed
+ since the device was removed. For arrays with persistent metadata
+ (superblocks) this is done automatically. For arrays created with
+-.B --build
++.B \-\-build
+ mdadm needs to be told that this device we removed recently with
+-.B --re-add.
++.BR \-\-re\-add .
+
+ Devices can only be removed from an array if they are not in active
+ use. i.e. that must be spares or failed devices. To remove an active
+@@ -886,69 +899,69 @@
+ .SH For Misc mode:
+
+ .TP
+-.BR -Q ", " --query
++.BR \-Q ", " \-\-query
+ Examine a device to see
+ (1) if it is an md device and (2) if it is a component of an md
+ array.
+ Information about what is discovered is presented.
+
+ .TP
+-.BR -D ", " --detail
++.BR \-D ", " \-\-detail
+ Print detail of one or more md devices.
+
+ .TP
+-.BR -E ", " --examine
++.BR \-E ", " \-\-examine
+ Print content of md superblock on device(s).
+ .TP
+-.B --sparc2.2
++.B \-\-sparc2.2
+ If an array was created on a 2.2 Linux kernel patched with RAID
+ support, the superblock will have been created incorrectly, or at
+ least incompatibly with 2.4 and later kernels. Using the
+-.B --sparc2.2
++.B \-\-sparc2.2
+ flag with
+-.B --examine
++.B \-\-examine
+ will fix the superblock before displaying it. If this appears to do
+ the right thing, then the array can be successfully assembled using
+-.BR "--assemble --update=sparc2.2" .
++.BR "\-\-assemble \-\-update=sparc2.2" .
+
+ .TP
+-.BR -X ", " --examine-bitmap
++.BR \-X ", " \-\-examine\-bitmap
+ Report information about a bitmap file.
+
+ .TP
+-.BR -R ", " --run
++.BR \-R ", " \-\-run
+ start a partially built array.
+
+ .TP
+-.BR -S ", " --stop
++.BR \-S ", " \-\-stop
+ deactivate array, releasing all resources.
+
+ .TP
+-.BR -o ", " --readonly
++.BR \-o ", " \-\-readonly
+ mark array as readonly.
+
+ .TP
+-.BR -w ", " --readwrite
++.BR \-w ", " \-\-readwrite
+ mark array as readwrite.
+
+ .TP
+-.B --zero-superblock
++.B \-\-zero\-superblock
+ If the device contains a valid md superblock, the block is
+ overwritten with zeros. With
+---force
++.B \-\-force
+ the block where the superblock would be is overwritten even if it
+ doesn't appear to be valid.
+
+ .TP
+-.BR -t ", " --test
++.BR \-t ", " \-\-test
+ When used with
+-.BR --detail ,
++.BR \-\-detail ,
+ the exit status of
+ .I mdadm
+ is set to reflect the status of the device.
+
+ .TP
+-.BR -W ", " --wait
++.BR \-W ", " \-\-wait
+ For each md device given, wait for any resync, recovery, or reshape
+ activity to finish before returning.
+ .I mdadm
+@@ -957,7 +970,7 @@
+
+ .SH For Incremental Assembly mode:
+ .TP
+-.BR --rebuild-map ", " -r
++.BR \-\-rebuild\-map ", " \-r
+ Rebuild the map file
+ .RB ( /var/run/mdadm/map )
+ that
+@@ -965,14 +978,14 @@
+ uses to help track which arrays are currently being assembled.
+
+ .TP
+-.BR --run ", " -R
++.BR \-\-run ", " \-R
+ Run any array assembled as soon as a minimal number of devices are
+ available, rather than waiting until all expected devices are present.
+
+ .TP
+-.BR --scan ", " -s
++.BR \-\-scan ", " \-s
+ Only meaningful with
+-.B -R
++.B \-R
+ this will scan the
+ .B map
+ file for arrays that are being incrementally assembled and will try to
+@@ -983,46 +996,46 @@
+
+ .SH For Monitor mode:
+ .TP
+-.BR -m ", " --mail
++.BR \-m ", " \-\-mail
+ Give a mail address to send alerts to.
+
+ .TP
+-.BR -p ", " --program ", " --alert
++.BR \-p ", " \-\-program ", " \-\-alert
+ Give a program to be run whenever an event is detected.
+
+ .TP
+-.BR -y ", " --syslog
++.BR \-y ", " \-\-syslog
+ Cause all events to be reported through 'syslog'. The messages have
+ facility of 'daemon' and varying priorities.
+
+ .TP
+-.BR -d ", " --delay
++.BR \-d ", " \-\-delay
+ Give a delay in seconds.
+ .B mdadm
+ polls the md arrays and then waits this many seconds before polling
+ again. The default is 60 seconds.
+
+ .TP
+-.BR -f ", " --daemonise
++.BR \-f ", " \-\-daemonise
+ Tell
+ .B mdadm
+ to run as a background daemon if it decides to monitor anything. This
+ causes it to fork and run in the child, and to disconnect form the
+ terminal. The process id of the child is written to stdout.
+ This is useful with
+-.B --scan
++.B \-\-scan
+ which will only continue monitoring if a mail address or alert program
+ is found in the config file.
+
+ .TP
+-.BR -i ", " --pid-file
++.BR \-i ", " \-\-pid\-file
+ When
+ .B mdadm
+ is running in daemon mode, write the pid of the daemon process to
+ the specified file, instead of printing it on standard output.
+
+ .TP
+-.BR -1 ", " --oneshot
++.BR \-1 ", " \-\-oneshot
+ Check arrays only once. This will generate
+ .B NewArray
+ events and more significantly
+@@ -1031,12 +1044,12 @@
+ .B SparesMissing
+ events. Running
+ .in +5
+-.B " mdadm --monitor --scan -1"
++.B " mdadm \-\-monitor \-\-scan \-1"
+ .in -5
+ from a cron script will ensure regular notification of any degraded arrays.
+
+ .TP
+-.BR -t ", " --test
++.BR \-t ", " \-\-test
+ Generate a
+ .B TestMessage
+ alert for every array found at startup. This alert gets mailed and
+@@ -1047,15 +1060,15 @@
+
+ .HP 12
+ Usage:
+-.B mdadm --assemble
++.B mdadm \-\-assemble
+ .I md-device options-and-component-devices...
+ .HP 12
+ Usage:
+-.B mdadm --assemble --scan
++.B mdadm \-\-assemble \-\-scan
+ .I md-devices-and-options...
+ .HP 12
+ Usage:
+-.B mdadm --assemble --scan
++.B mdadm \-\-assemble \-\-scan
+ .I options...
+
+ .PP
+@@ -1064,7 +1077,7 @@
+ array, and a number of component-devices. These can be found in a number of ways.
+
+ In the first usage example (without the
+-.BR --scan )
++.BR \-\-scan )
+ the first device given is the md device.
+ In the second usage example, all devices listed are treated as md
+ devices and assembly is attempted.
+@@ -1095,7 +1108,7 @@
+ The config file is only used if explicitly named with
+ .B --config
+ or requested with (a possibly implicit)
+-.B --scan.
++.BR --scan .
+ In the later case,
+ .B /etc/mdadm/mdadm.conf
+ is used.
+@@ -1116,7 +1129,7 @@
+
+ If the md device does not exist, then it will be created providing the
+ intent is clear. i.e. the name must be in a standard form, or the
+-.I --auto
++.B --auto
+ option must be given to clarify how and whether the device should be
+ created.
+
+@@ -1148,16 +1161,16 @@
+ ends with a digit.
+
+ The
+-.B --auto
++.B \-\-auto
+ option is also available in Build and Create modes. As those modes do
+ not use a config file, the "auto=" config option does not apply to
+ these modes.
+
+ .SS Auto Assembly
+ When
+-.B --assemble
++.B \-\-assemble
+ is used with
+-.B --scan
++.B \-\-scan
+ and no devices are listed,
+ .I mdadm
+ will first attempt to assemble all the arrays listed in the config
+@@ -1194,12 +1207,12 @@
+ If
+ .I mdadm
+ cannot find any array for the given host at all, and if
+-.B --auto-update-homehost
++.B \-\-auto\-update\-homehost
+ is given, then
+ .I mdadm
+ will search again for any array (not just an array created for this
+ host) and will assemble each assuming
+-.IR --update=homehost .
++.BR \-\-update=homehost .
+ This will change the host tag in the superblock so that on the next run,
+ these arrays will be found without the second pass. The intention of
+ this feature is to support transitioning a set of md arrays to using
+@@ -1213,16 +1226,16 @@
+
+ .HP 12
+ Usage:
+-.B mdadm --build
++.B mdadm \-\-build
+ .I device
+-.BI --chunk= X
+-.BI --level= Y
+-.BI --raid-devices= Z
++.BI \-\-chunk= X
++.BI \-\-level= Y
++.BI \-\-raid\-devices= Z
+ .I devices
+
+ .PP
+ This usage is similar to
+-.BR --create .
++.BR \-\-create .
+ The difference is that it creates an array without a superblock. With
+ these arrays there is no difference between initially creating the array and
+ subsequently assembling the array, except that hopefully there is useful
+@@ -1236,12 +1249,12 @@
+
+ .HP 12
+ Usage:
+-.B mdadm --create
++.B mdadm \-\-create
+ .I device
+-.BI --chunk= X
+-.BI --level= Y
++.BI \-\-chunk= X
++.BI \-\-level= Y
+ .br
+-.BI --raid-devices= Z
++.BI \-\-raid\-devices= Z
+ .I devices
+
+ .PP
+@@ -1249,7 +1262,7 @@
+ it, and activate the array.
+
+ If the
+-.B --auto
++.B \-\-auto
+ option is given (as described in more detail in the section on
+ Assemble mode), then the md device will be created with a suitable
+ device number if necessary.
+@@ -1260,7 +1273,7 @@
+
+ If any discrepancy is found, the array will not automatically be run, though
+ the presence of a
+-.B --run
++.B \-\-run
+ can override this caution.
+
+ To create a "degraded" array in which some devices are missing, simply
+@@ -1280,13 +1293,13 @@
+ This is because building the spare into a degraded array is in general faster than resyncing
+ the parity on a non-degraded, but not clean, array. This feature can
+ be overridden with the
+-.I --force
++.B \-\-force
+ option.
+
+ When creating an array with version-1 metadata a name for the host is
+ required.
+ If this is not given with the
+-.B --name
++.B \-\-name
+ option,
+ .I mdadm
+ will chose a name based on the last component of the name of the
+@@ -1304,30 +1317,32 @@
+ A new array will normally get a randomly assigned 128bit UUID which is
+ very likely to be unique. If you have a specific need, you can choose
+ a UUID for the array by giving the
+-.B --uuid=
++.B \-\-uuid=
+ option. Be warned that creating two arrays with the same UUID is a
+ recipe for disaster. Also, using
+-.B --uuid=
++.B \-\-uuid=
+ when creating a v0.90 array will silently override any
+-.B --homehost=
++.B \-\-homehost=
+ setting.
+ '''If the
+-'''.B --size
++'''.B \-\-size
+ '''option is given, it is not necessary to list any component-devices in this command.
+ '''They can be added later, before a
+-'''.B --run.
++'''.B \-\-run.
+ '''If no
+-'''.B --size
++'''.B \-\-size
+ '''is given, the apparent size of the smallest drive given is used.
+
+-The General Management options that are valid with --create are:
++The General Management options that are valid with
++.B \-\-create
++are:
+ .TP
+-.B --run
++.B \-\-run
+ insist on running the array even if some devices look like they might
+ be in use.
+
+ .TP
+-.B --readonly
++.B \-\-readonly
+ start the array readonly \(em not supported yet.
+
+
+@@ -1343,7 +1358,7 @@
+ removed or added. It is possible to perform multiple operations with
+ on command. For example:
+ .br
+-.B " mdadm /dev/md0 -f /dev/hda1 -r /dev/hda1 -a /dev/hda1"
++.B " mdadm /dev/md0 \-f /dev/hda1 \-r /dev/hda1 \-a /dev/hda1"
+ .br
+ will firstly mark
+ .B /dev/hda1
+@@ -1364,20 +1379,20 @@
+ MISC mode includes a number of distinct operations that
+ operate on distinct devices. The operations are:
+ .TP
+---query
++\-\-query
+ The device is examined to see if it is
+ (1) an active md array, or
+ (2) a component of an md array.
+ The information discovered is reported.
+
+ .TP
+---detail
++\-\-detail
+ The device should be an active md device.
+ .B mdadm
+ will display a detailed description of the array.
+-.B --brief
++.B \-\-brief
+ or
+-.B --scan
++.B \-\-scan
+ will cause the output to be less detailed and the format to be
+ suitable for inclusion in
+ .BR /etc/mdadm/mdadm.conf .
+@@ -1386,7 +1401,7 @@
+ will normally be 0 unless
+ .I mdadm
+ failed to get useful information about the device(s). However if the
+-.B --test
++.B \-\-test
+ option is given, then the exit status will be:
+ .RS
+ .TP
+@@ -1460,7 +1475,7 @@
+
+ .HP 12
+ Usage:
+-.B mdadm --monitor
++.B mdadm \-\-monitor
+ .I options... devices...
+
+ .PP
+@@ -1483,7 +1498,7 @@
+ .B mdadm
+ will only monitor those devices. Otherwise all arrays listed in the
+ configuration file will be monitored. Further, if
+-.B --scan
++.B \-\-scan
+ is given, then any other md devices that appear in
+ .B /proc/mdstat
+ will also be monitored.
+@@ -1499,13 +1514,13 @@
+ device if relevant, such as a component device that has failed.
+
+ If
+-.B --scan
++.B \-\-scan
+ is given, then a program or an E-mail address must be specified on the
+ command line or in the config file. If neither are available, then
+ .B mdadm
+ will not monitor anything.
+ Without
+-.B --scan
++.B \-\-scan
+ .B mdadm
+ will continue monitoring as long as something was found to monitor. If
+ no program or email is given, then each event is reported to
+@@ -1600,7 +1615,7 @@
+ .TP
+ .B TestMessage
+ An array was found at startup, and the
+-.B --test
++.B \-\-test
+ flag was given.
+ (syslog priority: Info)
+ .RE
+@@ -1708,10 +1723,10 @@
+ that is in that section. This backup is normally stored in any spare
+ devices that the array has, however it can also be stored in a
+ separate file specified with the
+-.B --backup-file
++.B \-\-backup\-file
+ option. If this option is used, and the system does crash during the
+ critical period, the same file must be passed to
+-.B --assemble
++.B \-\-assemble
+ to restore the backup and reassemble the array.
+
+ .SS BITMAP CHANGES
+@@ -1726,23 +1741,23 @@
+
+ .HP 12
+ Usage:
+-.B mdadm --incremental
+-.RB [ --run ]
+-.RB [ --quiet ]
++.B mdadm \-\-incremental
++.RB [ \-\-run ]
++.RB [ \-\-quiet ]
+ .I component-device
+ .HP 12
+ Usage:
+-.B mdadm --incremental --rebuild
++.B mdadm \-\-incremental \-\-rebuild
+ .HP 12
+ Usage:
+-.B mdadm --incremental --run --scan
++.B mdadm \-\-incremental \-\-run \-\-scan
+
+
+ .PP
+ This mode is designed to be used in conjunction with a device
+ discovery system. As devices are found in a system, they can be
+ passed to
+-.B "mdadm --incremental"
++.B "mdadm \-\-incremental"
+ to be conditionally added to an appropriate array.
+
+ .I mdadm
+@@ -1758,13 +1773,13 @@
+ (active or spare) parts of that array. It does not currently support
+ automatic inclusion of a new drive as a spare in some array.
+
+-.B "mdadm --incremental"
++.B "mdadm \-\-incremental"
+ requires a bug present in all kernels through 2.6.19, to be fixed.
+ Hopefully this will be fixed in 2.6.20. Alternately apply the patch
+ which is included with the mdadm source distribution. If
+ .I mdadm
+ detects that this bug is present, it will abort any attempt to use
+-.BR --incremental .
++.BR \-\-incremental .
+
+ The tests that
+ .I mdadm
+@@ -1789,9 +1804,9 @@
+ .IP +
+ Does the device have a valid md superblock. If a specific metadata
+ version is request with
+-.B --metadata
++.B \-\-metadata
+ or
+-.B -e
++.B \-e
+ then only that style of metadata is accepted, otherwise
+ .I mdadm
+ finds any known version of metadata. If no
+@@ -1849,7 +1864,7 @@
+ that if any devices are missing the array will not be restarted.
+
+ As an alternative,
+-.B --run
++.B \-\-run
+ may be passed to
+ .B mdadm
+ in which case the array will be run as soon as there are enough
+@@ -1860,7 +1875,7 @@
+ Note that neither of these approaches is really ideal. If it is can
+ be known that all device discovery has completed, then
+ .br
+-.B " mdadm -IRs"
++.B " mdadm \-IRs"
+ .br
+ can be run which will try to start all arrays that are being
+ incrementally assembled. They are started in "read-auto" mode in
+@@ -1871,45 +1886,45 @@
+
+ .SH EXAMPLES
+
+-.B " mdadm --query /dev/name-of-device"
++.B " mdadm \-\-query /dev/name-of-device"
+ .br
+ This will find out if a given device is a raid array, or is part of
+ one, and will provide brief information about the device.
+
+-.B " mdadm --assemble --scan"
++.B " mdadm \-\-assemble \-\-scan"
+ .br
+ This will assemble and start all arrays listed in the standard config file
+ file. This command will typically go in a system startup file.
+
+-.B " mdadm --stop --scan"
++.B " mdadm \-\-stop \-\-scan"
+ .br
+ This will shut down all array that can be shut down (i.e. are not
+ currently in use). This will typically go in a system shutdown script.
+
+-.B " mdadm --follow --scan --delay=120"
++.B " mdadm \-\-follow \-\-scan \-\-delay=120"
+ .br
+ If (and only if) there is an Email address or program given in the
+ standard config file, then
+ monitor the status of all arrays listed in that file by
+ polling them ever 2 minutes.
+
+-.B " mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/hd[ac]1"
++.B " mdadm \-\-create /dev/md0 \-\-level=1 \-\-raid\-devices=2 /dev/hd[ac]1"
+ .br
+ Create /dev/md0 as a RAID1 array consisting of /dev/hda1 and /dev/hdc1.
+
+ .br
+-.B " echo 'DEVICE /dev/hd*[0-9] /dev/sd*[0-9]' > mdadm.conf"
++.B " echo 'DEVICE /dev/hd*[0\-9] /dev/sd*[0\-9]' > mdadm.conf"
+ .br
+-.B " mdadm --detail --scan >> mdadm.conf"
++.B " mdadm \-\-detail \-\-scan >> mdadm.conf"
+ .br
+ This will create a prototype config file that describes currently
+ active arrays that are known to be made from partitions of IDE or SCSI drives.
+ This file should be reviewed before being used as it may
+ contain unwanted detail.
+
+-.B " echo 'DEVICE /dev/hd[a-z] /dev/sd*[a-z]' > mdadm.conf"
++.B " echo 'DEVICE /dev/hd[a\-z] /dev/sd*[a\-z]' > mdadm.conf"
+ .br
+-.B " mdadm --examine --scan --config=mdadm.conf >> mdadm.conf"
++.B " mdadm \-\-examine \-\-scan \-\-config=mdadm.conf >> mdadm.conf"
+ .ber
+ This will find what arrays could be assembled from existing IDE and
+ SCSI whole drives (not partitions) and store the information is the
+@@ -1920,16 +1935,16 @@
+ entries. It should be reviewed and edited before being used as an
+ actual config file.
+
+-.B " mdadm --examine --brief --scan --config=partitions"
++.B " mdadm \-\-examine \-\-brief \-\-scan \-\-config=partitions"
+ .br
+-.B " mdadm -Ebsc partitions"
++.B " mdadm \-Ebsc partitions"
+ .br
+ Create a list of devices by reading
+ .BR /proc/partitions ,
+ scan these for RAID superblocks, and printout a brief listing of all
+ that was found.
+
+-.B " mdadm -Ac partitions -m 0 /dev/md0"
++.B " mdadm \-Ac partitions \-m 0 /dev/md0"
+ .br
+ Scan all partitions and devices listed in
+ .BR /proc/partitions
+@@ -1937,32 +1952,32 @@
+ .B /dev/md0
+ out of all such devices with a RAID superblock with a minor number of 0.
+
+-.B " mdadm --monitor --scan --daemonise > /var/run/mdadm"
++.B " mdadm \-\-monitor \-\-scan \-\-daemonise > /var/run/mdadm"
+ .br
+ If config file contains a mail address or alert program, run mdadm in
+ the background in monitor mode monitoring all md devices. Also write
+ pid of mdadm daemon to
+ .BR /var/run/mdadm .
+
+-.B " mdadm -Iq /dev/somedevice"
++.B " mdadm \-Iq /dev/somedevice"
+ .br
+ Try to incorporate newly discovered device into some array as
+ appropriate.
+
+-.B " mdadm --incremental --rebuild --run --scan"
++.B " mdadm \-\-incremental \-\-rebuild \-\-run \-\-scan"
+ .br
+ Rebuild the array map from any current arrays, and then start any that
+ can be started.
+
+-.B " mdadm --create --help"
++.B " mdadm \-\-create \-\-help"
+ .br
+ Provide help about the Create mode.
+
+-.B " mdadm --config --help"
++.B " mdadm \-\-config \-\-help"
+ .br
+ Provide help about the format of the config file.
+
+-.B " mdadm --help"
++.B " mdadm \-\-help"
+ .br
+ Provide general help.
+
+@@ -1978,7 +1993,7 @@
+ lists all active md devices with information about them.
+ .B mdadm
+ uses this to find arrays when
+-.B --scan
++.B \-\-scan
+ is given in Misc mode, and to monitor array reconstruction
+ on Monitor mode.
+
+@@ -1993,7 +2008,7 @@
+
+ .SS /var/run/mdadm/map
+ When
+-.I --incremental
++.B \-\-incremental
+ mode is used. this file gets a list of arrays currently being created.
+ If
+ .B /var/run/mdadm
+@@ -2007,7 +2022,7 @@
+ .I mdadm
+ has an understanding of 'standard' formats which it uses to guide its
+ behaviour when creating device files via the
+-.I --auto
++.B \-\-auto
+ option.
+
+ The standard names for non-partitioned arrays (the only sort of md
+@@ -2044,8 +2059,8 @@
+ RAID, check out:
+
+ .IP
+-.UR http://ostenfeld.dk/~jakob/Software-RAID.HOWTO/
+-http://ostenfeld.dk/~jakob/Software-RAID.HOWTO/
++.UR http://ostenfeld.dk/~jakob/Software\-RAID.HOWTO/
++http://ostenfeld.dk/~jakob/Software\-RAID.HOWTO/
+ .UE
+ '''.PP
+ '''for new releases of the RAID driver check out:
+diff -urNad mdadm-2.6.1~/mdadm.8.rej mdadm-2.6.1/mdadm.8.rej
+--- mdadm-2.6.1~/mdadm.8.rej 1970-01-01 01:00:00.000000000 +0100
++++ mdadm-2.6.1/mdadm.8.rej 2007-03-13 19:25:13.000000000 +0100
+@@ -0,0 +1,111 @@
++***************
++*** 1420,1473 ****
++ .RE
++
++ .TP
++- --examine
++ The device should be a component of an md array.
++ .B mdadm
++ will read the md superblock of the device and display the contents.
++ If
++- .B --brief
++ is given, or
++- .B --scan
++ then multiple devices that are components of the one array
++ are grouped together and reported in a single entry suitable
++ for inclusion in
++ .BR /etc/mdadm.conf .
++
++ Having
++- .B --scan
++ without listing any devices will cause all devices listed in the
++ config file to be examined.
++
++ .TP
++- --stop
++ The devices should be active md arrays which will be deactivated, as
++ long as they are not currently in use.
++
++ .TP
++- --run
++ This will fully activate a partially assembled md array.
++
++ .TP
++- --readonly
++ This will mark an active array as read-only, providing that it is
++ not currently being used.
++
++ .TP
++- --readwrite
++ This will change a
++ .B readonly
++ array back to being read/write.
++
++ .TP
++- --scan
++ For all operations except
++- .BR --examine ,
++- .B --scan
++ will cause the operation to be applied to all arrays listed in
++ .BR /proc/mdstat .
++ For
++- .BR --examine,
++- .B --scan
++ causes all devices listed in the config file to be examined.
++
++
++--- 1420,1473 ----
++ .RE
++
++ .TP
+++ \-\-examine
++ The device should be a component of an md array.
++ .B mdadm
++ will read the md superblock of the device and display the contents.
++ If
+++ .B \-\-brief
++ is given, or
+++ .B \-\-scan
++ then multiple devices that are components of the one array
++ are grouped together and reported in a single entry suitable
++ for inclusion in
++ .BR /etc/mdadm.conf .
++
++ Having
+++ .B \-\-scan
++ without listing any devices will cause all devices listed in the
++ config file to be examined.
++
++ .TP
+++ \-\-stop
++ The devices should be active md arrays which will be deactivated, as
++ long as they are not currently in use.
++
++ .TP
+++ \-\-run
++ This will fully activate a partially assembled md array.
++
++ .TP
+++ \-\-readonly
++ This will mark an active array as read-only, providing that it is
++ not currently being used.
++
++ .TP
+++ \-\-readwrite
++ This will change a
++ .B readonly
++ array back to being read/write.
++
++ .TP
+++ \-\-scan
++ For all operations except
+++ .BR \-\-examine ,
+++ .B \-\-scan
++ will cause the operation to be applied to all arrays listed in
++ .BR /proc/mdstat .
++ For
+++ .BR \-\-examine,
+++ .B \-\-scan
++ causes all devices listed in the config file to be examined.
++
++
+diff -urNad mdadm-2.6.1~/mdadm.conf.5 mdadm-2.6.1/mdadm.conf.5
+--- mdadm-2.6.1~/mdadm.conf.5 2007-03-13 19:24:49.000000000 +0100
++++ mdadm-2.6.1/mdadm.conf.5 2007-03-13 19:24:50.000000000 +0100
+@@ -105,7 +105,7 @@
+ superblock on a device for that device to be included in the array.
+ Not all superblock formats support names.
+ .TP
+-.B super-minor=
++.B super\-minor=
+ The value is an integer which indicates the minor number that was
+ stored in the superblock when the array was created. When an array is
+ created as /dev/mdX, then the minor number X is stored.
+@@ -121,33 +121,33 @@
+ The value is a raid level. This is not normally used to
+ identify an array, but is supported so that the output of
+
+-.B "mdadm --examine --scan"
++.B "mdadm \-\-examine \-\-scan"
+
+ can be use directly in the configuration file.
+ .TP
+-.B num-devices=
++.B num\-devices=
+ The value is the number of devices in a complete active array. As with
+ .B level=
+ this is mainly for compatibility with the output of
+
+-.BR "mdadm --examine --scan" .
++.BR "mdadm \-\-examine \-\-scan" .
+
+ .TP
+ .B spares=
+ The value is a number of spare devices to expect the array to have.
+-.B mdadm --monitor
++.B mdadm \-\-monitor
+ will report an array if it is found to have fewer than this number of
+ spares when
+-.B --monitor
++.B \-\-monitor
+ starts or when
+-.B --oneshot
++.B \-\-oneshot
+ is used.
+
+ .TP
+-.B spare-group=
++.B spare\-group=
+ The value is a textual name for a group of arrays. All arrays with
+ the same
+-.B spare-group
++.B spare\-group
+ name are considered to be part of the same group. The significance of
+ a group of arrays is that
+ .B mdadm
+@@ -179,15 +179,15 @@
+ will provide this file to the
+ .B md
+ driver as the bitmap file. This has the same function as the
+-.B --bitmap-file
++.B \-\-bitmap\-file
+ option to
+-.BR --assemble .
++.BR \-\-assemble .
+
+ .TP
+ .B metadata=
+ Specify the metadata format that the array has. This is mainly
+ recognised for comparability with the output of
+-.BR "mdadm -Es" .
++.BR "mdadm \-Es" .
+
+ .RE
+
+@@ -199,9 +199,9 @@
+ sent to when
+ .M mdadm
+ is running in
+-.B --monitor
++.B \-\-monitor
+ mode (and was given the
+-.B --scan
++.B \-\-scan
+ option). There should only be one
+ .B MAILADDR
+ line and it should have only one address.
+@@ -226,7 +226,7 @@
+ The
+ .B program
+ line gives the name of a program to be run when
+-.B "mdadm --monitor"
++.B "mdadm \-\-monitor"
+ detects potentially interesting events on any of the arrays that it
+ is monitoring. This program gets run with two or three arguments, they
+ being the Event, the md device, and possibly the related component
+@@ -259,7 +259,7 @@
+ .TP
+ .B auto=
+ This corresponds to the
+-.B --auto
++.B \-\-auto
+ flag to mdadm. Give
+ .BR yes ,
+ .BR md ,
+@@ -315,11 +315,11 @@
+ .br
+ ARRAY /dev/md4 uuid=b23f3c6d:aec43a9f:fd65db85:369432df
+ .br
+- spare-group=group1
++ spare\-group=group1
+ .br
+ ARRAY /dev/md5 uuid=19464854:03f71b1b:e0df2edd:246cc977
+ .br
+- spare-group=group1
++ spare\-group=group1
+ .br
+ # /dev/md/home is created if need to be a partitionable md array
+ .br
+@@ -331,9 +331,9 @@
+
+ MAILADDR root@mydomain.tld
+ .br
+-PROGRAM /usr/sbin/handle-mdadm-events
++PROGRAM /usr/sbin/handle\-mdadm\-events
+ .br
+-CREATE group=system mode=0640 auto=part-8
++CREATE group=system mode=0640 auto=part\-8
+ .br
+ HOMEHOST <system>
+
+diff -urNad mdadm-2.6.1~/mdassemble.8 mdadm-2.6.1/mdassemble.8
+--- mdadm-2.6.1~/mdassemble.8 2007-03-13 19:24:49.000000000 +0100
++++ mdadm-2.6.1/mdassemble.8 2007-03-13 19:24:50.000000000 +0100
+@@ -24,7 +24,7 @@
+ Invoking
+ .B mdassemble
+ has the same effect as invoking
+-.B mdadm --assemble --scan.
++.B mdadm \-\-assemble \-\-scan.
+ .PP
+ Invoking
+ .B mdassemble
+@@ -54,7 +54,7 @@
+ with the exception of
+ .B auto=
+ which is supported only if mdadm was built with the
+-.B -DMDASSEMBLE_AUTO
++.B \-DMDASSEMBLE_AUTO
+ define.
+
+ .SH SEE ALSO