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