2 - check superblock checksum in examine DONE
3 - report "chunk" or "rounding" depending on raid level DONE
4 - report "linear" instead of "-1" for raid level DONE
5 - decode ayout depending on raid level DONE
6 - --verbose and --force flags.
8 - set md_minor, *_disks for Create - DONE
9 - for create raid5, how to choose between
10 all working, but not insync
11 one missing, one spare, insync
12 - and for raid1 - some failed drives...
14 - when RUN_ARRAY, make sure *_disks counts are right
16 - get --detail to extract extra stuff from superblock,
18 - --detail --brief to give a config file line
19 - parse config file. DONE
22 - when --assemble --scan, if an underlying device is an md device,
23 then try to assemble that device first.
26 - mdctl -S /dev/md0 /dev/md1 gives internal error
28 - mdctl --detail --scan print summary of what it can find?
32 Assemble doesn't add spares. - DONE
33 Create to allow "missing" name for devices.
34 Create to accept "--force" for do exactly what is requested
35 - get Assemble to upgrade devices if force flag.
36 ARRAY lines in config file to have super_minor=n
37 ARRAY lines in config file to have device=pattern, and only accept
39 If UUID given, insist on that
40 If not, but super_minor given, require all found with that minor
42 If only device given, all valid supers on those devices must have
44 allow /dev/mdX as first argument before any options
45 Possible --dry-run option for create and assemble--force
47 Assemble to check that all devices mentioned in superblock
50 New mode: --Monitor (or --Follow)
51 Periodically check status of all arrays (listed in config file).
52 Log every event and apparent cause - or differences
53 Email and alert - or run a program - for important events
54 Move spares around if necessary.
56 An Array line can have a spare-group= field that indicates that
57 the array shares spares with other arrays with the same
59 If an array has a failed and no spares, then check all other
60 arrays in the spare group. If one has no failures and a spare,
61 then consider that spare.
62 Choose the smallest considered spare that is large enough.
63 If there is one, then hot-remove it from it's home, and
64 hot-add it to the array in question.
67 --alert-handler program
69 Will also extract information from /proc/mdstat if present,
70 and consider 20% marks in rebuild as events.
73 drive fails - causes mail to be sent