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