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