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