]> git.ipfire.org Git - thirdparty/mdadm.git/blob - TODO
mdadm-0.7.2
[thirdparty/mdadm.git] / TODO
1
2
3 ?? Allow -S /dev/md? - current complains subsequent not a/d/r
4
5 * new "Query" mode to subsume --detail and --examine.
6 --query or -Q, takes a device and tells if it is an MD device,
7 and also tells in a raid superblock is found.
8
9 * write proc.c to parse /proc/mdstat file, and maybe /proc/partitions too.
10 Build list of arrays: name, rebuild-percent
11
12 * --detail --scan to read mdadm.conf, and then iterate over these,
13 but assume --brief. --verbose can override
14 check each subdevice to see if it is in conf_get_devs.
15 Warn if not.
16
17 * Support multipath ... maybe...
18
19 * --follow to syslog
20
21 * --follow to move spares around
22
23 * --follow to notice other events:
24 rebuild started
25 spare activated
26 spare removed
27 spare added
28
29 ------------------------------------
30 - --examine --scan scans all drives and build an mdadm.conf file DONE
31
32 - check superblock checksum in examine DONE
33 - report "chunk" or "rounding" depending on raid level DONE
34 - report "linear" instead of "-1" for raid level DONE
35 - decode ayout depending on raid level DONE
36 - --verbose and --force flags. DONE
37
38 - set md_minor, *_disks for Create - DONE
39 - for create raid5, how to choose between
40 all working, but not insync
41 one missing, one spare, insync DONE (--force)
42 - and for raid1 - some failed drives... (missing)
43
44 - when RUN_ARRAY, make sure *_disks counts are right
45
46 - get --detail to extract extra stuff from superblock,
47 like uuid DONE
48 - --detail --brief to give a config file line DONE
49 - parse config file. DONE
50 - test...
51
52 - when --assemble --scan, if an underlying device is an md device,
53 then try to assemble that device first.
54
55
56 - mdadm -S /dev/md0 /dev/md1 gives internal error FIXED
57
58 - mdadm --detail --scan print summary of what it can find?
59
60
61 ---------
62 Assemble doesn't add spares. - DONE
63 Create to allow "missing" name for devices.
64 Create to accept "--force" for do exactly what is requested
65 - get Assemble to upgrade devices if force flag.
66 ARRAY lines in config file to have super_minor=n
67 ARRAY lines in config file to have device=pattern, and only accept
68 those devices
69 If UUID given, insist on that
70 If not, but super_minor given, require all found with that minor
71 to have same uuid
72 If only device given, all valid supers on those devices must have
73 same uuid
74 allow /dev/mdX as first argument before any options
75 Possible --dry-run option for create and assemble--force
76
77 Assemble to check that all devices mentioned in superblock
78 are present.
79
80 New mode: --Monitor (or --Follow)
81 Periodically check status of all arrays (listed in config file).
82 Log every event and apparent cause - or differences
83 Email and alert - or run a program - for important events
84 Move spares around if necessary.
85
86 An Array line can have a spare-group= field that indicates that
87 the array shares spares with other arrays with the same
88 spare-group name.
89 If an array has a failed and no spares, then check all other
90 arrays in the spare group. If one has no failures and a spare,
91 then consider that spare.
92 Choose the smallest considered spare that is large enough.
93 If there is one, then hot-remove it from it's home, and
94 hot-add it to the array in question.
95
96 --mail-to address
97 --alert-handler program
98
99 Will also extract information from /proc/mdstat if present,
100 and consider 20% marks in rebuild as events.
101
102 Events are:
103 drive fails - causes mail to be sent
104 rebuild started
105 spare activated
106 spare removed
107 spare added