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