]> git.ipfire.org Git - thirdparty/mdadm.git/blame - TODO
mdadm-1.5.0
[thirdparty/mdadm.git] / TODO
CommitLineData
aa88f531
NB
1* mdadm --monitor to monitor failed multipath paths and re-instate them.
2
56eedc1a
NB
3* Maybe make "--help" fit in 80x24 and have a --long-help with more info. DONE
4
5
d013a55e
NB
6* maybe "missing" instead of <bold>missing</> in doco DONE
7* possibly wait for resync to start, or even finish while assembling.- NO
8
9* -Db should have a devices= entry if possible. - DONE
10* when assembling multipath arrays, ignore any error indicators. - DONE
11* rationalise --monitor usage:
12 mdadm --monitor
13 doesn't do as expected. DONE
14
15* --assemble could have a --update option. - DONE
5787fa49
NB
16 following word can be:
17 sparc2.2
18 super-minor
19
20* mdadm /dev/md11, where md11 is raid0 can segfault, particularly when looking in the
21 [UU_UUU] string ... which doesn't exist !
22It should be more sensible. DONE
23
24Example:
25
26from Raimund Sacherer <raimund.sacherer@ngit.at>
27
28mke2fs -m0 -q /dev/ram1 300
29mount -n -t ext2 /dev/ram1 /tmp
30echo DEVICE /dev/[sh]* >> /tmp/mdadm.conf
31mdadm -Esb /dev/[sh]* 2>/dev/null >> /tmp/mdadm.conf
32mdadm -ARsc /tmp/mdadm.conf
33umount /tmp
64c4757e 34
cd29a5c8 35
e0d19036 36?? Allow -S /dev/md? - current complains subsequent not a/d/r - DONE
cd29a5c8 37
56eb10c0
NB
38* new "Query" mode to subsume --detail and --examine.
39 --query or -Q, takes a device and tells if it is an MD device,
e0d19036
NB
40 and also tells in a raid superblock is found.
41 DONE
56eb10c0 42
e0d19036 43* write mdstat.c to parse /proc/mdstat file
cd29a5c8 44 Build list of arrays: name, rebuild-percent
e0d19036 45 DONE
cd29a5c8 46
e0d19036
NB
47* parse /proc/partitions and map major/minor into /dev/* names,
48 and use that for default DEVICE list ????
49
50* --detail --scan to read /proc/mdstat, and then iterate over these,
cd29a5c8
NB
51 but assume --brief. --verbose can override
52 check each subdevice to see if it is in conf_get_devs.
53 Warn if not.
e0d19036 54 DONE, but don't warn yet...
cd29a5c8
NB
55
56* Support multipath ... maybe...
e0d19036 57 maybe DONE
cd29a5c8
NB
58
59* --follow to syslog
60
2d465520 61* --follow to move spares around DONE
cd29a5c8 62
2d465520 63* --follow to notice other events: DONE
cd29a5c8
NB
64 rebuild started
65 spare activated
66 spare removed
67 spare added
68
69------------------------------------
9a9dab36 70- --examine --scan scans all drives and build an mdadm.conf file DONE
cd29a5c8 71
82b27616
NB
72- check superblock checksum in examine DONE
73- report "chunk" or "rounding" depending on raid level DONE
682c7051
NB
74- report "linear" instead of "-1" for raid level DONE
75- decode ayout depending on raid level DONE
cd29a5c8 76- --verbose and --force flags. DONE
682c7051 77
82b27616 78- set md_minor, *_disks for Create - DONE
682c7051
NB
79- for create raid5, how to choose between
80 all working, but not insync
cd29a5c8
NB
81 one missing, one spare, insync DONE (--force)
82- and for raid1 - some failed drives... (missing)
52826846 83
82b27616
NB
84- when RUN_ARRAY, make sure *_disks counts are right
85
86- get --detail to extract extra stuff from superblock,
87 like uuid DONE
cd29a5c8 88- --detail --brief to give a config file line DONE
82b27616
NB
89- parse config file. DONE
90- test...
91
92- when --assemble --scan, if an underlying device is an md device,
93 then try to assemble that device first.
0db17fcb
NB
94
95
9a9dab36 96- mdadm -S /dev/md0 /dev/md1 gives internal error FIXED
52826846 97
56eedc1a 98- mdadm --detail --scan print summary of what it can find? DONE
52826846
NB
99
100
101---------
102Assemble doesn't add spares. - DONE
103Create to allow "missing" name for devices.
104Create to accept "--force" for do exactly what is requested
105- get Assemble to upgrade devices if force flag.
106ARRAY lines in config file to have super_minor=n
107ARRAY lines in config file to have device=pattern, and only accept
108 those devices
109 If UUID given, insist on that
110 If not, but super_minor given, require all found with that minor
111 to have same uuid
112 If only device given, all valid supers on those devices must have
113 same uuid
114allow /dev/mdX as first argument before any options
115Possible --dry-run option for create and assemble--force
116
117Assemble to check that all devices mentioned in superblock
118 are present.
119
120New mode: --Monitor (or --Follow)
121 Periodically check status of all arrays (listed in config file).
122 Log every event and apparent cause - or differences
123 Email and alert - or run a program - for important events
124 Move spares around if necessary.
125
126 An Array line can have a spare-group= field that indicates that
127 the array shares spares with other arrays with the same
128 spare-group name.
129 If an array has a failed and no spares, then check all other
130 arrays in the spare group. If one has no failures and a spare,
131 then consider that spare.
132 Choose the smallest considered spare that is large enough.
133 If there is one, then hot-remove it from it's home, and
134 hot-add it to the array in question.
135
136 --mail-to address
137 --alert-handler program
138
139 Will also extract information from /proc/mdstat if present,
140 and consider 20% marks in rebuild as events.
141
142 Events are:
143 drive fails - causes mail to be sent
144 rebuild started
145 spare activated
146 spare removed
cd29a5c8 147 spare added