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