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