]>
Commit | Line | Data |
---|---|---|
64c4757e | 1 | |
cd29a5c8 NB |
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 | ||
82b27616 NB |
28 | - check superblock checksum in examine DONE |
29 | - report "chunk" or "rounding" depending on raid level DONE | |
682c7051 NB |
30 | - report "linear" instead of "-1" for raid level DONE |
31 | - decode ayout depending on raid level DONE | |
cd29a5c8 | 32 | - --verbose and --force flags. DONE |
682c7051 | 33 | |
82b27616 | 34 | - set md_minor, *_disks for Create - DONE |
682c7051 NB |
35 | - for create raid5, how to choose between |
36 | all working, but not insync | |
cd29a5c8 NB |
37 | one missing, one spare, insync DONE (--force) |
38 | - and for raid1 - some failed drives... (missing) | |
52826846 | 39 | |
82b27616 NB |
40 | - when RUN_ARRAY, make sure *_disks counts are right |
41 | ||
42 | - get --detail to extract extra stuff from superblock, | |
43 | like uuid DONE | |
cd29a5c8 | 44 | - --detail --brief to give a config file line DONE |
82b27616 NB |
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. | |
0db17fcb NB |
50 | |
51 | ||
cd29a5c8 | 52 | - mdctl -S /dev/md0 /dev/md1 gives internal error FIXED |
52826846 NB |
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 | |
cd29a5c8 | 103 | spare added |