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