]> git.ipfire.org Git - thirdparty/mdadm.git/blob - TODO
mdadm-1.3.0
[thirdparty/mdadm.git] / TODO
1 * mdadm --monitor to monitor failed multipath paths and re-instate them.
2
3 * Maybe make "--help" fit in 80x24 and have a --long-help with more info. DONE
4
5
6 * maybe "missing" instead of <bold>missing</> in doco DONE
7 * possibly wait for resync to start, or even finish while assembling.- NO
8
9 * -Db should have a devices= entry if possible. - DONE
10 * when assembling multipath arrays, ignore any error indicators. - DONE
11 * rationalise --monitor usage:
12 mdadm --monitor
13 doesn't do as expected. DONE
14
15 * --assemble could have a --update option. - DONE
16 following word can be:
17 sparc2.2
18 super-minor
19
20 * mdadm /dev/md11, where md11 is raid0 can segfault, particularly when looking in the
21 [UU_UUU] string ... which doesn't exist !
22 It should be more sensible. DONE
23
24 Example:
25
26 from Raimund Sacherer <raimund.sacherer@ngit.at>
27
28 mke2fs -m0 -q /dev/ram1 300
29 mount -n -t ext2 /dev/ram1 /tmp
30 echo DEVICE /dev/[sh]* >> /tmp/mdadm.conf
31 mdadm -Esb /dev/[sh]* 2>/dev/null >> /tmp/mdadm.conf
32 mdadm -ARsc /tmp/mdadm.conf
33 umount /tmp
34
35
36 ?? Allow -S /dev/md? - current complains subsequent not a/d/r - DONE
37
38 * new "Query" mode to subsume --detail and --examine.
39 --query or -Q, takes a device and tells if it is an MD device,
40 and also tells in a raid superblock is found.
41 DONE
42
43 * write mdstat.c to parse /proc/mdstat file
44 Build list of arrays: name, rebuild-percent
45 DONE
46
47 * parse /proc/partitions and map major/minor into /dev/* names,
48 and use that for default DEVICE list ????
49
50 * --detail --scan to read /proc/mdstat, and then iterate over these,
51 but assume --brief. --verbose can override
52 check each subdevice to see if it is in conf_get_devs.
53 Warn if not.
54 DONE, but don't warn yet...
55
56 * Support multipath ... maybe...
57 maybe DONE
58
59 * --follow to syslog
60
61 * --follow to move spares around DONE
62
63 * --follow to notice other events: DONE
64 rebuild started
65 spare activated
66 spare removed
67 spare added
68
69 ------------------------------------
70 - --examine --scan scans all drives and build an mdadm.conf file DONE
71
72 - check superblock checksum in examine DONE
73 - report "chunk" or "rounding" depending on raid level DONE
74 - report "linear" instead of "-1" for raid level DONE
75 - decode ayout depending on raid level DONE
76 - --verbose and --force flags. DONE
77
78 - set md_minor, *_disks for Create - DONE
79 - for create raid5, how to choose between
80 all working, but not insync
81 one missing, one spare, insync DONE (--force)
82 - and for raid1 - some failed drives... (missing)
83
84 - when RUN_ARRAY, make sure *_disks counts are right
85
86 - get --detail to extract extra stuff from superblock,
87 like uuid DONE
88 - --detail --brief to give a config file line DONE
89 - parse config file. DONE
90 - test...
91
92 - when --assemble --scan, if an underlying device is an md device,
93 then try to assemble that device first.
94
95
96 - mdadm -S /dev/md0 /dev/md1 gives internal error FIXED
97
98 - mdadm --detail --scan print summary of what it can find? DONE
99
100
101 ---------
102 Assemble doesn't add spares. - DONE
103 Create to allow "missing" name for devices.
104 Create to accept "--force" for do exactly what is requested
105 - get Assemble to upgrade devices if force flag.
106 ARRAY lines in config file to have super_minor=n
107 ARRAY lines in config file to have device=pattern, and only accept
108 those devices
109 If UUID given, insist on that
110 If not, but super_minor given, require all found with that minor
111 to have same uuid
112 If only device given, all valid supers on those devices must have
113 same uuid
114 allow /dev/mdX as first argument before any options
115 Possible --dry-run option for create and assemble--force
116
117 Assemble to check that all devices mentioned in superblock
118 are present.
119
120 New mode: --Monitor (or --Follow)
121 Periodically check status of all arrays (listed in config file).
122 Log every event and apparent cause - or differences
123 Email and alert - or run a program - for important events
124 Move spares around if necessary.
125
126 An Array line can have a spare-group= field that indicates that
127 the array shares spares with other arrays with the same
128 spare-group name.
129 If an array has a failed and no spares, then check all other
130 arrays in the spare group. If one has no failures and a spare,
131 then consider that spare.
132 Choose the smallest considered spare that is large enough.
133 If there is one, then hot-remove it from it's home, and
134 hot-add it to the array in question.
135
136 --mail-to address
137 --alert-handler program
138
139 Will also extract information from /proc/mdstat if present,
140 and consider 20% marks in rebuild as events.
141
142 Events are:
143 drive fails - causes mail to be sent
144 rebuild started
145 spare activated
146 spare removed
147 spare added