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