]> git.ipfire.org Git - thirdparty/mdadm.git/blame - TODO
mdctl-0.6
[thirdparty/mdadm.git] / TODO
CommitLineData
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---------
58Assemble doesn't add spares. - DONE
59Create to allow "missing" name for devices.
60Create to accept "--force" for do exactly what is requested
61- get Assemble to upgrade devices if force flag.
62ARRAY lines in config file to have super_minor=n
63ARRAY 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
70allow /dev/mdX as first argument before any options
71Possible --dry-run option for create and assemble--force
72
73Assemble to check that all devices mentioned in superblock
74 are present.
75
76New 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