]>
Commit | Line | Data |
---|---|---|
b3d31955 N |
1 | Changed Prior to this release |
2 | - --readwrite can be used with --re-add to clear the writemostly | |
3 | flag. | |
4 | ||
866d136a NB |
5 | Changes Prior to 2.6.7 release |
6 | - Avoid NULL reference calling free_super and elsewhere. | |
7 | - Remove stray semicolon (Causes compile error with gcc-2.95) | |
8 | - Fix autoassemble for stack arrays. | |
9 | ||
df5a0b92 NB |
10 | Changes Prior to 2.6.6 release |
11 | - "make everything" now make mdassemble.auto | |
12 | - fix compile problem with mdassemble.auto | |
13 | - Update FAQ URLs in man page again. | |
14 | ||
22702322 | 15 | Changes Prior to 2.6.5 release |
2cdb6489 NB |
16 | - Avoid segfault when parsing /proc/mdstat with auto-read-only |
17 | arrays. | |
7a3be72f NB |
18 | - Fix problem with failing to add devices to v.large (>4TB) arrays, |
19 | cause by problems with device-size overflow. | |
1486e43f NB |
20 | - For v0.90 superblocks, print the 'Events' count as a real count, |
21 | not 2 numbers separated by a dot. | |
3cdfb6a7 | 22 | - Updates some URLs in the man page. |
6fb79233 | 23 | - Allow creation of a RAID6 with exactly one missing device. |
e509e779 NB |
24 | - Use LOG_PID for syslog, so you get the pid of mdadm in the log |
25 | files. | |
26 | - --export now works with --examine too (not just --detail) | |
27 | - Improve auto-creation of device special file when using | |
28 | --incremental | |
29 | - Simple locking for --incremental so mdadm doesn't get confused | |
30 | when run concurrently with itself. | |
31 | - Make --incremental cope better with arrays that are being reshaped. | |
2cdb6489 | 32 | |
6a067160 NB |
33 | Changes Prior to 2.6.4 release |
34 | - Make "--create --auto=mdp" work for non-standard device names. | |
35 | - Fix restarting of a 'reshape' if it was stopped in the middle. | |
36 | - Fix a segfault when using v1 superblock. | |
37 | - Make --write-mostly effective when re-adding a device to an array. | |
38 | - Various minor fixes | |
39 | ||
e5bddffd | 40 | Changes Prior to 2.6.3 release |
7d19ad0d | 41 | - allow --write-behind to be set for --grow. |
005debfc NB |
42 | - When adding new disk to an array, don't reserve so much bitmap |
43 | space that the disk cannot store the required data. (Needed when | |
44 | 1.x array was created with older mdadm). | |
eb6dae98 NB |
45 | - When adding a drive that was a little too small, we did not get |
46 | the correct error message. | |
2295250a NB |
47 | - Make sure that if --assemble find an array in the critical region |
48 | of a reshape, and cannot find the critical data to restart the | |
49 | reshape, it gives an error message. | |
e1584dd2 NB |
50 | - Fix segfault with '--detail --export' and non-persistent |
51 | superblocks. | |
52 | - Various manpage updates. | |
53 | - Improved 'raid4' support (--assemble, --monitor) | |
54 | - Option parsing fixes w.r.t -a | |
55 | - Interpret "--assemble --metadata=1" to allow any version 1.x | |
56 | metadata, and be more specific in the "metadata=" message printed | |
57 | with --examine --brief | |
58 | - Fix spare migration in --monitor. | |
7d19ad0d | 59 | |
fffdbe5e | 60 | Changes Prior to 2.6.2 release |
b80da661 NB |
61 | - --fail detached and --remove faulty can be used to fail and |
62 | remove devices that are no longer physically present. | |
63 | - --export option for --detail or present information in a format | |
64 | that can be processed by udev. | |
65 | - fix internal bitmap allocation problems with v1.1, v1.2 metadata. | |
66 | - --help now goes to stdout so you can direct it to a pager. | |
67 | - Various manpage updates. | |
f752781f | 68 | - Make "--grow --add" for linear arrays really work. |
1f48664b | 69 | - --auto-detect to trigger in-kernel autodetect. |
a77be586 NB |
70 | - Make return code for "--detail --test" more reliable. Missing |
71 | devices as well as failed devices cause an error. | |
b80da661 | 72 | |
e003092c | 73 | Changes Prior to 2.6.1 release |
3e6944b2 | 74 | - --monitor was producing some meaningless warnings due to a bug. |
ae491d1e | 75 | - Fix some compiler warnings. |
48327135 NB |
76 | - Fully support --grow for raid6. If a reshape crashed during the |
77 | critical period, mdadm wouldn't restore the Q information | |
78 | properly. | |
00be0b12 | 79 | - Update documentation for --grow. |
3e6944b2 | 80 | |
f8409e54 | 81 | Changes Prior to 2.6 release |
b7a708af | 82 | - Fixed UUID printing in "--detail --brief" for version1 metadata. |
434b7755 NB |
83 | - --update=resync did exactly the wrong thing for version1 metadata. |
84 | It caused a resync to not happen, rather than to happen. | |
67a8c82d NB |
85 | - Allow --assemble --force to mark a raid6 clean when it has two |
86 | missing devices (which is needed else if won't assemble. | |
87 | Without this fix it would only assemble if one or zero | |
88 | missing devices. | |
bee8ec56 NB |
89 | - Support --update=devicesize for cases where the underlying device |
90 | can change size. | |
75723446 NB |
91 | - Default to --auto=yes so the array devices with 'standard' names |
92 | get created automatically, as this is almost always what is wanted. | |
583315d9 NB |
93 | - Give useful message if raid4/5/6 cannot be started because it is |
94 | not clean and is also degraded. | |
758d3a8e NB |
95 | - Increase raid456 stripe cache size if needed to --grow the array. |
96 | The setting used unfortunately requires intimate knowledge of the | |
97 | kernel, and it not reset when the reshape finishes. | |
e3362544 NB |
98 | - Change 'Device Size' to 'Used Dev Size' because it only shows how |
99 | much of each device is actually used, not how big they are. | |
b90c0e9a NB |
100 | - --wait or -W will wait for resync activity to finish on the given |
101 | devices. | |
bf4fb153 | 102 | - Fix some problems with --update=uuid and add a test. |
c5a6f9a6 NB |
103 | - If two drives in a raid5 disappear at the same time, then "-Af" |
104 | will add them both in rather than just one and forcing the array | |
105 | to 'clean'. This is slightly safer in some cases. | |
4a39c6f2 NB |
106 | - Check device is large enough before hot-add: this improves quality |
107 | of error message. | |
ab5303d6 NB |
108 | - Don't hold md device open for so long in --monitor mode - map_dev |
109 | can be slow and interferes with trying to stop the array. | |
3d3dd91e | 110 | - Support --uuid= with --create to choose your own UUID. |
8382f19b NB |
111 | - New major more "--incremental" for incremental assemble of arrays, |
112 | intended for use with udev. | |
b7a708af | 113 | |
d87d0978 NB |
114 | Changes Prior to 2.5.6 release |
115 | - Fix bug which meant "bitmap=xxx" in mdadm.conf was not handled | |
116 | properly. | |
2790ffe3 | 117 | - Documentation updates. |
60e1bc1a NB |
118 | - Fix bug that caused infinite loop when doing auto-assembly, |
119 | in certain cases where arrays couldn't be assembled. | |
d87d0978 | 120 | |
209b742f | 121 | Changes Prior to 2.5.5 release |
0a816ef9 NB |
122 | - Don't #include linux/blkpg.h as that isn't safe. Just |
123 | include the content literally. | |
b39827de NB |
124 | - Reduce maximum bitmap usage when working with bitmap files, |
125 | so that a only single-page allocations are made, even on | |
126 | 64bit hosts with 4K pages. | |
435d4ebb LB |
127 | - Close stray fd in mdassemble so that it can assemble stacked |
128 | devices | |
129 | - If mdassemble finds an array already assembled, it marks it | |
130 | read-write. | |
e60c27d0 LB |
131 | - Remove error in md_open if array is already active. This isn't |
132 | needed and gets in the ways if an array was created e.g. in | |
133 | initramfs, but device doesn't yet exist in /dev. | |
1cac4c1b LB |
134 | - When --assemble --scan is run, if all arrays that could be found |
135 | have already been started, don't report an error. | |
702b557b | 136 | - Fix a couple of bugs related to raid10 and the new 'offset' layout. |
cbfbcb0b | 137 | - Improve error message when a wrong '--update' option is given. |
0a816ef9 | 138 | |
8e64e044 | 139 | Changes Prior to 2.5.4 release |
38098016 NB |
140 | - When creating devices in /dev/md/ create matching symlinks |
141 | from /dev. e.g. /dev/md0 -> /dev/md/0. | |
142 | Allow this to be disabled in mdadm.conf or on command line. | |
83205b64 NB |
143 | - Fix some endian-ness issues with version-1 superblocks (affects |
144 | bigendian only). | |
10ae45c1 | 145 | - Fix endian problem with 'bitmap' metadata |
6ba83b5f NB |
146 | - Allow a number (of partitions) after the 'yes' option to --auto= |
147 | This is particularly useful in the 'create' line in mdadm.conf. | |
0430ed48 NB |
148 | - Remove partitions from any whole device that is made part of |
149 | an md array. This is a work-around for annoying messages | |
150 | when the first block on some drive accidentally looks like a | |
151 | partition table. | |
38098016 | 152 | |
2a940e36 NB |
153 | Changes Prior to 2.5.3 release |
154 | - Document v0.91 superblocks in md.4 | |
90fc992e | 155 | - Make GPL explicit in man pages. |
43f2372a | 156 | - Fix recent breakage of starting degraded arrays. |
60248f74 NB |
157 | - Tidyup automatic name choice for v-1 arrays: |
158 | /dev/md_d0 now becomes '0', not '_d0'. | |
2a940e36 | 159 | |
2a91e149 | 160 | Changes Prior to 2.5.2 release |
ae184b49 NB |
161 | - Fix problem with compiling with gcc-2 compilers |
162 | - Fix compile problem of post-incrmenting a variable in a macro arg. | |
163 | - Stop map_dev from returning [0:0], as that breaks things. | |
c3684618 NB |
164 | - Add 'Array Slot' line to --examine for version-1 superblocks |
165 | to make it a bit easier to see what is happening. | |
7eae7080 NB |
166 | - Work around bug in --add handling for version-1 superblocks |
167 | in 2.6.17 (and prior). | |
08110d41 NB |
168 | - Make -assemble a bit more resilient to finding strange |
169 | information in superblocks. | |
170 | - Don't claim newly added spares are InSync!! (don't know why that | |
171 | code was ever in there) | |
45e878bb NB |
172 | - Work better when no 'ftw' is available, and check to see |
173 | if current uclibc provides ftw. | |
8aec876d NB |
174 | - Never use /etc/mdadm.conf if --config file is given (previously |
175 | some code used one, some used the other). | |
ae184b49 | 176 | |
82d8a046 NB |
177 | Changes Prior to 2.5.1 release |
178 | - Various fixes for gcc warnings | |
179 | - uclibc warnings | |
180 | - Makefile improvements for static linking/intalling | |
181 | - Makefile uninstall target | |
182 | - Really fix return status of --examine | |
183 | - Typos | |
184 | - Byteorder stuff (again) | |
185 | - Don't try to create devices with --manage or --grow | |
186 | - allow default metadata (superblock) type to be specified | |
187 | in mdadm.conf | |
188 | - Get --stop to list devices stopped but honour --quiet | |
189 | - remove libssl dependency | |
190 | - Avoid some misdetection of overlapping partitions | |
191 | - Fix memory leak in --monitor mode | |
192 | ||
193 | Changes Prior to 2.5 release | |
4948b8f7 NB |
194 | - Support 'mailfrom' line in mdadm.conf so the From: line in alert |
195 | emails can be explicitly set. | |
d1732eeb NB |
196 | - Arrange that SparesMissing (which is similar in import to |
197 | DegradedArray) generates an Email. | |
a99d6b66 | 198 | - Assume "DEVICE partitions" if no DEVICE line is given. |
b578481c | 199 | - Support new 'offset' layout for raid10. |
1bfdbe01 NB |
200 | - When creating a bitmap file, choose a chunksize to limit number |
201 | of bitmap chunks to 2 million. More than this can cause kmalloc | |
202 | failure. | |
5bbb4842 NB |
203 | - New 'CREATE' line in mdadm.conf for defaults such as owner, group, |
204 | mode and auto-flag | |
120230a4 NB |
205 | - --detail checks if array has been started or not and includes that |
206 | in report. | |
8131b493 NB |
207 | - When using --update=uuid on an array with a bitmap, update the |
208 | bitmap's uuid too. | |
41a3b72a | 209 | - Add a copy of /proc/mdstat to the mail message sent by mdadm |
008e1100 | 210 | --monitor. |
b8a8ccf9 NB |
211 | - New flag --no-degraded to avoid starting arrays if there are |
212 | fewer devices available than last time the array was started. | |
213 | This is only needed with --scan, as with --scan, that behaviour | |
214 | is the default. | |
41a3b72a NB |
215 | - Support for 'homehost' concept. This is a fairly major update. |
216 | It includes a configfile option and a command line option for | |
217 | specifying a homehost, records that host in the superblock, | |
218 | and reports the homehost where possible. | |
219 | - Support for Auto Assembly. "mdadm -As" will, if provided with | |
220 | the name of a homehost, try to assemble all arrays it can find | |
221 | that were created for that homehost. See man pages for more details. | |
4948b8f7 | 222 | |
ac957baa NB |
223 | Changes Prior to 2.4.1 release |
224 | - Honour --write-mostly when adding to an array without persistent | |
225 | superblocks. | |
226 | - Fix alignment problem in version-1 superblocks. | |
227 | NOTE: This is an incompatable change affecting raid5 reshape. | |
228 | If you want to reshape a raid5 using version-1 superblocks, | |
229 | use 2.6.17-rc2 or later, and mdadm-2.4.1 or later. | |
230 | ||
2efedc7b NB |
231 | Changes Prior to 2.4 release |
232 | - Rewrite 'reshape' support including performing a backup | |
233 | of the critical region for a raid5 growth, and restoring that | |
234 | backup after a crash. | |
235 | - Put a 'canary' at each end of the backup so a corruption | |
236 | can be more easily detected. | |
31317663 | 237 | - Remove useless 'ident' arguement from ->getinfo_super method. |
d7514c58 NB |
238 | - Support --backup-file for backing-up critical section during |
239 | growth. | |
240 | - Erase old superblocks (of different versions) when creating new | |
241 | array. | |
242 | - Allow --monitor to work with arrays with >28 devices | |
243 | - Report reshape information in --detail | |
244 | - Handle symlinks in /dev better | |
245 | - Fix mess in --detail output which a device is missing. | |
2ae555c3 | 246 | - Manpage tidyup |
7ef02d01 NB |
247 | - Support 'bitmap=' in mdadm.conf for auto-assembling arrays with |
248 | write-intent bitmaps in separate files. | |
addc80c4 | 249 | - Updates to md.4 man page including section on RESTRIPING and SYSFS |
2efedc7b | 250 | |
1e0d770c NB |
251 | Changes Prior to 2.3.1 release |
252 | - Fixed -O2 compile so I could make and RPM. | |
253 | - Type cast number to be printed %llu so it compiles on 64bit | |
254 | machines. (Thanks Luca). | |
255 | - Stop using asm/byteorder.h - to make Redhat happy :-( | |
256 | - Require bitmap files to have a '/' in their name. | |
257 | - Error-check a few syscalls - code from SuSE package. | |
258 | ||
259 | Changes Prior to 2.3 release | |
ce4fafd6 NB |
260 | - Try /etc/mdadm/mdadm.conf if /etc/mdadm.conf doesn't exist. |
261 | This provided compatability for Debian. | |
a92f6acc NB |
262 | - Fixed for version-1 superblock: |
263 | report chunksize for raid6 and raid10 | |
264 | make sure device size used is a multiple of chunksize | |
265 | - Fix "--assemble --scan" crash. | |
266 | - Fix completely failure to create array on ppc64 | |
267 | - Fix memcmp in place of memcpy | |
268 | - A few minor improvements to online help | |
269 | - Clean up usage of 'long long' for used-size of devices, so | |
270 | that it is possible to create a raid1 of 7TB devices! | |
271 | - Make internal bitmaps work on 7TB raid1 arrays. | |
272 | - Provide error message if --examine doesn't find any superblock. | |
273 | - Report 'reshape' status in --examine - this depends on kernel | |
274 | patches that are not yet finalised. | |
275 | - Report bitmap status in --detail and --examine | |
276 | - Default to v1 superblocks instead of v0.90 if the array | |
277 | is too big for 0.90 to handle. | |
278 | - Sort the output of "mdadm --detail --scan" so that it is | |
279 | in a suitable order for assembling arrays. i.e. components come | |
280 | before an array that they are part of. | |
281 | - Print size of large reiserfs array properly went warning of | |
282 | possible confilcts. | |
ce4fafd6 | 283 | |
f3c7fda6 | 284 | Changes Prior to 2.2 release |
f9c25f1d NB |
285 | - Assorted bug fixes |
286 | - Support write-intent-bitmaps on raid10 | |
287 | - Support little-endian (Rather than hostendian) bitmaps. | |
288 | - Return correct error code from 'mdadm -S' | |
d9d4e469 | 289 | - Remove extra blank line from 'mdadm -Eb' output. |
c06487ce NB |
290 | - Improve option parsing so that -a and -b do not have |
291 | optional arguements: the arg is either required or not | |
292 | depending on context. | |
8b0dabea NB |
293 | - Allow scanning of devices listed in /proc/partitions even |
294 | if they don't appear in /dev. | |
47d79ef8 | 295 | - Support --assume-clean in --create mode as well as --build |
773135f5 NB |
296 | - Add support for --monitor to report to syslog: -y or --syslog. |
297 | Thanks to Ross Vandegrift | |
fe394e5e NB |
298 | - --monitor now reports which device failed in a 'Fail' message |
299 | This broke with 2.6 | |
ee04451c NB |
300 | - Improve chance of array starting properly after a crash. |
301 | mdadm was insisting the event numbers were identical, but this | |
302 | isn't needed, and is a problem if the crash was while the metadata | |
303 | was being updated. | |
7d99579f | 304 | - Support --update==uuid |
0ff1a185 NB |
305 | - Added README.initramfs and mkinitramfs to help people use an |
306 | initram for starting md arrays at boot. | |
f9c25f1d NB |
307 | |
308 | Changes Prior to 2.1 release | |
265e0f17 NB |
309 | - Fix assembling of raid10 array when devices are missing. |
310 | mdadm now correctly detects if a array is workable or not | |
311 | depending on which devices are present, and so will correctly | |
312 | handle "--assemble --force" if multiple devices have failed. | |
313 | - Report raid10 layout in --examine output. | |
308e1801 NB |
314 | - Fix assembling of arrays that use the version-1 superblock and |
315 | have spares. Previously the spares would be ignored. | |
316 | - Fix bug so that multiple drives can be re-added at once. | |
f6d75de8 NB |
317 | - Fix problem with hot-adding a bitmap to version-1-superblock |
318 | arrays. | |
265e0f17 NB |
319 | |
320 | Changes Prior to 2.0 | |
586ed405 NB |
321 | - Support assembling from byte-swapped superblocks |
322 | metadata type "0.swap" and --update=byteorder | |
dfd4d8ee | 323 | - write-mostly and write-behind support for raid1. |
947fd4dd NB |
324 | - Support --name= and 'name=' config entry for identifying |
325 | arrays be name. | |
a9d69660 NB |
326 | - RAID10 in man pages. |
327 | - Lot of minor manpage updates | |
586ed405 | 328 | |
f277ce36 NB |
329 | Changes Prior to 2.0-devel-3 release |
330 | - Assorted fixes for multiple bugs... | |
5e7519fa | 331 | - Add test suite |
f277ce36 NB |
332 | |
333 | Changes Prior to 1.12.0 release | |
60f91664 | 334 | Several of these are backported from the Debian package |
0bbc98b5 | 335 | - Don't use 'lstat' to check for blockdevices, use stat. |
779043ef | 336 | - Document --size=max option for --grow |
b8f72a62 | 337 | - Document SparesMissing event and DeviceDisappeared/WrongLevel |
91f068bf NB |
338 | - --stop --scan repeatly cycles until no more progress can be made |
339 | so that stack devices are stopped properly | |
3fa06e9d | 340 | - Minor type rationalisation for ident->uuid - now always 'int[]' |
891d2994 | 341 | - Fix type in online help for --grow (was -F, now -G) |
1337546d NB |
342 | - Allow --auto command line option to set default auto= |
343 | value when running "--assemble --scan". Previously | |
344 | --auto was ignored if --scan was given | |
a46f4061 | 345 | - Fix a few type casts |
5a6d1148 | 346 | - Fix parsing of /dev/md/N in is_standard |
d5d3721e | 347 | - Fix rounding errors in human_size() |
60f91664 | 348 | - Fix silly example in mdadm.conf-examples |
b79713f8 | 349 | - When finding a /dev name for a device, prefer shorter names |
22892d56 NB |
350 | - Suppress listing of devices= in --brief output of -D or -E, |
351 | unless -v is given (-vv gives the old behaviour with -Dsv). | |
352 | This is because the device list can change and so is not a | |
353 | stable aspect of the array | |
bd72c2b2 | 354 | - Allow --force with --grow so '-Gfn1' works (on raid1) |
8f23b0b3 | 355 | - Replace sprintf calls with snprintf (to quiet diet-libc) |
ccf44f32 | 356 | - Add man page for mdassemble |
fe6729fa | 357 | - Fix compilation with tinyc |
0bbc98b5 | 358 | |
e5811618 | 359 | Changes Prior to 1.11.0 release |
0fbf459d NB |
360 | - Fix embarassing bug which causes --add to always fail. |
361 | ||
d7eaf49f NB |
362 | Changes Prior to 1.10.0 release |
363 | - Fix bug with --config=partitions | |
364 | - Open sub-devices with O_EXCL to detect if already in use | |
b2b46bfc NB |
365 | - Make sure superblock updates are flushed directly to disk. |
366 | ||
f277ce36 | 367 | Changes Prior to 2.0-devel-1 release |
e793c2e5 NB |
368 | - Support for version-1 superblock. See --metadata option. |
369 | - Support for bitmap based intent logging. | |
370 | - Minor fixes. | |
371 | ||
9a4e08d2 NB |
372 | Changes Prior to 1.9.0 release |
373 | - Fix rpm build problem (stray %) | |
19f8b8fc | 374 | - Minor manpage updates |
182661f4 | 375 | - Change "dirty" status to "active" as it was confusing people. |
8d80900b NB |
376 | - --assemble --auto recognises 'standard' name and insists on using |
377 | the appropriate major/minor number for them. | |
b8a8ccf9 | 378 | - Remove underscore from partition names, so partitions of |
8d80900b NB |
379 | "foo" are "foo1", "foo2" etc (unchanged) and partitions of |
380 | "f00" are "f00p1", "f00p2" etc rather than "f00_p1"... | |
b8a8ccf9 | 381 | - Use "major", "minor", "makedev" macros instead of |
0df46c2a NB |
382 | "MAJOR", "MINOR", "MKDEV" so that large device numbers work |
383 | on 2.6 (providing you have glibc 2.3.3 or later). | |
43fc1676 | 384 | - Add some missing closes of open file descriptors. |
057bd352 NB |
385 | - Reread /proc/partition for every array assembled when using |
386 | it to find devices, rather than only once. | |
d17c1f8c NB |
387 | - Make "mdadm -Ss" stop stacked devices properly, by reversing the |
388 | order in which arrays are stopped. | |
e6b64cd0 | 389 | - Improve some error messages. |
0320ea45 NB |
390 | - Allow device name to appear before first option, so e.g. |
391 | mdadm /dev/md0 -A /dev/sd[ab] | |
392 | works. | |
393 | - Assume '-Q' if just a device is given, rather than being silent. | |
a3fd117c NB |
394 | - Change "dirty" status to "active" as it was confusing people. |
395 | ||
b5e64645 NB |
396 | Changes Prior to 1.8.0 release |
397 | - Makefile cleanup from Luca Berra <bluca@comedia.it> | |
398 | - --pid-file (-i) to set a pid file to use with --monitor --daemonise | |
399 | - Fix typo in mdadm man page | |
400 | - Fix coredump when "-s" used with no config file present. | |
401 | - Support new "faulty" personality which can inject synthetic | |
402 | faults. (Not in kernel.org yet at 1Nov2004) | |
403 | - Support raid0/linear on devices > 2 Terabytes | |
404 | - Make sure raid6 resyncs when created with one missing device | |
405 | ||
406 | Changes Prior to 1.7.0 release | |
e5329c37 NB |
407 | - Support "--grow --add" to add a device to a linear array, if the |
408 | kernel supports it. Not documented yet. | |
409 | - Restore support for uclibc which was broken recently. | |
410 | - Several improvements to the output of --detail, including | |
411 | reporting "resyncing" or "recovering" in the state. | |
b8a8ccf9 | 412 | - Close filedescriptor at end of --detail (exit would have closed it |
e5329c37 NB |
413 | anyway, so this isn't abig deal). |
414 | - Report "Sync checkpoint" in --examine output if appropriate. | |
415 | - Add --update=resync for --assemble mode to for a resync when the | |
b8a8ccf9 | 416 | array is assembled. |
e5329c37 NB |
417 | - Add support for "raid10", which is under development in 2.6. |
418 | Not documented yet. | |
419 | - --monitor now reads spare-group and spares info from config file | |
420 | even when names of arrays to scan are given on the command line | |
421 | ||
dd0781e5 NB |
422 | Changes Prior to 1.6.0 release |
423 | - Device name given in -Eb is determined by examining /dev rather | |
424 | than assuming /dev/md%d | |
425 | - Fix bug in --monitor where an array could be held open an so | |
426 | could not be stopped without killing mdadm. | |
427 | - Add --grow mode. Currently only --size and --raid-disks can be | |
428 | changed. Both require kernel support which, at the time of | |
429 | writing, is not in a release kernel yet. | |
430 | - Don't print out "errors" or "no-errors" in -D and -E, as the bit | |
431 | is never set or used. | |
432 | - Use md event notification in 2.6.??? to make --monitor mode | |
433 | respond instantly to events. | |
434 | - Add --auto= option and auto= configfile entry to tell mdadm to | |
435 | create device files as needed. This is particularly useful | |
436 | with partitioned arrays where the major device number can change. | |
437 | - When generating --brief listing, if the standard name doesn't | |
438 | exist, search /dev for one rather than using a temp name. | |
439 | - Allow --build to build raid1 and multipath arrays. | |
440 | - Add "--assume-clean" for Create and Build, particularly for raid1 | |
441 | Note: this is dangerous. Only use it if you are certain. | |
442 | - Fix bug so that Rebuild status monitoring works again. | |
443 | - Add "degraded" and "recovering" options to the "Status:" | |
444 | entry for --detail | |
445 | ||
446 | Changes Prior to 1.5.0 release | |
98c6faba NB |
447 | - new commands "mdassemble" which is a stripped-down equivalent of |
448 | "mdadm -As", that can be compiled with dietlibc. | |
449 | Thanks to Luca Berra <bluca@comedia.it>. | |
450 | It can be using in an initramfs or initrd. | |
451 | - Fix compiling error with BLKGETSIZE64 and some signed/unsigned | |
452 | comparison warnings. | |
453 | - Add Rebuild Status (% complete) to --detail output. | |
454 | - Support "--monitor --test" which will generate a test alert | |
455 | for each array once, to test notification paths. | |
456 | - Generate RebuildFinished event when rebuild finishes. | |
b8a8ccf9 | 457 | - Support for raid6 as found in 2.6.2 - thanks to |
98c6faba NB |
458 | H. Peter Anvin <hpa@zytor.com> |
459 | - Support partitioned md arrays with a different major number and | |
460 | naming scheme (md_dX in /proc/mdstat, /dev/md/dXpY in /dev). | |
461 | ||
feb716e9 NB |
462 | Changes Prior to 1.4.0 release |
463 | - Document fact that creating a raid5 array really creates a | |
464 | degraded array with a spare. | |
465 | - Add "spares=" tag to config file and generate it wit --detail and | |
466 | --examine | |
467 | - Add "SparesMissing" event when --monitor first sees an array and | |
468 | it doesn't have the enough spare devices. | |
469 | - Add --update=summaries for --assemble to update summary | |
470 | information in superblock, and correct other inconsistancies in | |
471 | the superblock. | |
472 | - Add --test option to --detail to set a meaningful exit status. | |
473 | ||
aa88f531 NB |
474 | Changes Prior to 1.3.0 release |
475 | - Make 'size' and unsigned long in Create to allow creation of | |
476 | larger arrays. | |
477 | - Explicitly flag spare devices as 'spare' in --detail and --examine | |
478 | output. Previously they simply had no flags lists. | |
479 | - Make MailCmd (for monitor) configurable in Makefile, and default | |
480 | to "/usr/sbin/sendmail -t". Also split out the warning related | |
481 | flags into CWFLAGS for easier build configurability. | |
482 | - Minor bugfix in Manage code. | |
483 | - --monitor now notices and reports degraded arrays at startup using | |
484 | "DegradedArray" event, and also has a --oneshot option to only | |
485 | report DegradedArrays, and then exit. | |
486 | - Small man-page clarification w.r.t. raid levels and raid4 in | |
487 | particular. | |
488 | - Disallow creation of arrays with only one device as this is | |
489 | probably a mistake. --force will override this check. | |
490 | - Correct some misleading documentation in the "mdadm --create --help" | |
491 | message. | |
492 | - Ignore chunksize if raid1 or multipath. | |
493 | - Explicit statement in man page that raid-disks cannot be changed | |
494 | after array is created. | |
495 | - Improve message when attempting to start an array with | |
496 | insufficient devices. Instead of required the array to be full, | |
497 | we only require it has as many active devices as last time. | |
498 | ||
56eedc1a NB |
499 | Changes Prior to 1.2.0 release |
500 | - Fix bug where --daemonise required an argument. | |
501 | - In --assemble --verbose, print appropriate message if device is | |
502 | not in devices= list | |
503 | - Updated mdadm.conf.5 to reflect fact that device= takes wildcards | |
504 | - Typos: componenet -> component | |
505 | - Reduce size of "--help" message put excess into "--help-options" | |
506 | - Fix bug introduced when MD_SB_DISKS dependancy removed, and which | |
507 | caused spares not be assembled properly. | |
508 | - Print appropriate message if --monitor --scan decides not to | |
b8a8ccf9 | 509 | monitor anything. |
d013a55e NB |
510 | Changes Prior to 1.1.0 release |
511 | - add --deamonise flag for --monitor - forks and prints pid to stdout | |
512 | - Fix bug so we REALLY clear dirty flag with -Af | |
513 | - -Db now prints a 'devices=' word for each array. | |
514 | - "mdadm -A /dev/md0" will get info from configfile, even without scan | |
515 | - When assembling multipath arrays, ignore devices which are flagged | |
516 | as having errors. | |
b8a8ccf9 | 517 | - take --super-minor=dev to mean "use the minor number of the mddev |
d013a55e NB |
518 | being assembled. |
519 | - take --config=none to mean "completely ignore config file" | |
520 | - Make --monitor require --scan or a device list. | |
5787fa49 NB |
521 | Changes Prior to 1.0.9 release |
522 | - Documentation updates including kernel parameters documented | |
523 | in md.4 | |
524 | - --assemble --force for raid4/5 will mark clean, needed for 2.5 | |
525 | - --detail prints out the events counter as well | |
526 | - flush device before reading superblock to be sure to get | |
527 | current data | |
528 | - added mdadm.static target to makefile for static linking | |
529 | - --monitor was ignoring /dev/md0 due to off-by-one error | |
530 | - Fix assorted typos | |
531 | - Fix printing of Gibibytes - calc was wrong. | |
532 | - Fix printing of Array Size in --detail when very big. | |
533 | - --monitor no longer tries to work for raid0 or linear as these | |
d013a55e | 534 | have nothing to be monitored. |
5787fa49 NB |
535 | - The word 'partitions' on a DEVICE line will cause all partitions |
536 | listed in /proc/partitions to be considered | |
537 | - If the config file is called 'partitions' then it will be treated | |
538 | as though it contained exactly 'device partitions' so e.g. | |
539 | mdadm -Ebsc partitions | |
d013a55e | 540 | will find all raid partitions easily. |
5787fa49 NB |
541 | - successfully assemble multipath devices by ignoring raid_disk |
542 | value from superblock (it is always the same). | |
543 | - --assemble not tied to MD_SB_DISKS limit quite so much | |
544 | - Support compiling with tcc | |
545 | - Support compiling with uclibc - just skip scan of /dev | |
546 | - Add --update= option for Assemble mode. Either sparc2.2 | |
547 | or super-minor updates are possible. See mdadm.8 | |
548 | ||
549 | Changes Prior to 1.0.1 release | |
bd526cee NB |
550 | - Round off MB/GiB etc values instead of round down. |
551 | - Add --sparc2.2 option to examine to shift superblock around | |
552 | and --sparc2.2update to rewrite the superblock | |
5787fa49 | 553 | - Fix assorted typos in online help |
bd526cee NB |
554 | |
555 | Changes Prior to 1.0.0 release | |
2d465520 NB |
556 | - Allow --config with Misc mode (for --examine --scan) |
557 | - Add $(CXFLAGS) to end of CFLAGS in makefile | |
558 | - When making an N disk raid5 array, the Nth drive | |
559 | is moved to the end of the array as a spare rather than | |
560 | being shifted up one place. This means that when the | |
561 | kernel builds onto the last spare and inserts it, | |
562 | the devices will be in the expected order. | |
563 | - Man page improvements | |
564 | Changes Prior to 0.8.2 release | |
b83d95f3 NB |
565 | - Correct spelling of persist[ae]nce/persist[ae]nt. |
566 | - Change "disk" to "device" in options and config file | |
567 | - convert array size to "long long" *before* shift-left in -D and -Q | |
568 | ||
569 | Changes Prior to 0.8.1 release | |
c913b90e NB |
570 | - Add "INSTALL" file. |
571 | - Fix some "i" variables that were not being set properly | |
572 | - Initialise minsize and maxsize so that compilers don't complain. | |
573 | - Tidy up Makefile and mdadm.spec installations | |
574 | - Add "multipath" to documentation of valid levels | |
575 | ||
576 | Changes Prior to 0.8 release | |
e0d19036 NB |
577 | - Fix another bug in Assemble.c due to confusing 'i' with 'j' |
578 | - Minimal, untested, support for multipath | |
579 | - re-write of argument parsing to have more coherent modes, | |
580 | - add --query,-Q option | |
581 | - Update mdadm.8 to reflect arg processing change and --query | |
582 | - Change "long" to "unsigned long" for device sizes | |
583 | - Handle "mailaddr" and "program" lines in config file for follow/scan mode. | |
584 | - --follow --scan will exit if no program or mail found | |
585 | - Add MAILADDR and PROGRAM to mdadm.conf-example | |
586 | - Spell check man pages | |
587 | - consistently use "component devices" instead of "subdevices" | |
588 | - Make -Wall -Werror really work and fix lots of errors. | |
589 | - --detail and --stop can have --scan which chooses devices from /proc/mdstat | |
590 | - --monitor detects 20% changes in resync, failed spares, | |
591 | disappearing arrays, | |
592 | - --monitor --scan will automatically add any devices found in /proc/mdstat | |
593 | - --monitor will move spares between arrays with same spare-group if necessary | |
594 | - Documentation for Monitor Mode | |
595 | - --query notes if the array containing the given device is active or not | |
596 | - Finished md.4 man page. | |
597 | ||
598 | Changes Prior to 0.7.2 release | |
11a3e71d NB |
599 | - mdadm.spec updates and ifdef BLKGETSIZE64 from Luca Berra -- bluca@comedia.it |
600 | - more mdadm.spec updates from Gregory Leblanc <gleblanc@linuxweasel.com> | |
601 | - make directory for mdadm.conf configurable in Makefile | |
602 | - Finished mdadm.conf.5. Removed details of conf file from | |
603 | mdadm.8 leaving a reference to mdadm.conf.5. | |
604 | - Fix bug in Assemble.c, thanks to Junaid Rizvi <domdev@sat.net.pk> | |
605 | - Get --assemble --force to make sure old major/minor numbers are | |
606 | consistant, as md.c worries about this :-( | |
607 | ||
608 | ||
609 | Changes Prior to 0.7.1 release | |
56eb10c0 NB |
610 | - update mdadm.spec |
611 | - use BLKGETSIZE64 if available for array size | |
612 | - give human readable as GiB/MiB and GB and MB, with 2 decimal point precision | |
613 | - Only warn about size variation for raid1/4/5. | |
614 | - Started md.4 man page | |
615 | - Started mdadm.conf.5 man page | |
616 | ||
9a9dab36 NB |
617 | Changes Prior to 0.7 release |
618 | ||
619 | - Fix makefile to install binary at /sbin and not /sbin/sbin | |
620 | Also install man page. | |
621 | - Add --zero-superblock based on --destroywithextremeprejudice | |
622 | from Dale Stephenson <steph@snapserver.com> | |
623 | - change name to mdadm. It is palandromic, and much nicer to pronouce. | |
624 | ||
cd29a5c8 NB |
625 | Changes Prior to 0.6 release |
626 | ||
9a9dab36 | 627 | - Remove the limit on the number of device names that can be |
cd29a5c8 | 628 | given on the command line. |
b8a8ccf9 | 629 | - Fix bug in --assemble --force where it would only update a |
cd29a5c8 NB |
630 | single superblock. |
631 | - Fix bogus printing of big numbers not being block devices | |
632 | when given names of devices that don't exist. | |
633 | - When --assemble --force, consider superblocks with an event | |
634 | count that is 1 behind as out-of-date. Normally they are | |
635 | considered up-to-date (as the kernel assumes this too). | |
b8a8ccf9 | 636 | - When marking drives as not-failed in the superblock, |
cd29a5c8 NB |
637 | we also mark them as ACTIVE and SYNC. |
638 | - Don't start arrays for which not all drives are available unless: | |
639 | --scan which implies that all drives were found automatically | |
640 | --run which means the user knows what they want | |
641 | --force which means that we are fixing something broken | |
642 | - Make sure all device numbers passed as 3rd arg of ioctl | |
643 | are passed as unsigned lock, so that it works on SPARC | |
644 | - If HOT_ADD_DISK failes for -a, then only try ADD_NEW_DISK | |
645 | if we cannot read from the array, i.e. if the array is | |
646 | not started yet. | |
647 | - man page update | |
648 | - Taught Examine to handle --scan. It examines all devices listed | |
b8a8ccf9 | 649 | on DEVICE lines in the config file. |
cd29a5c8 NB |
650 | - Added --brief (-b) flag for Examine and Detail to print out |
651 | and mdctl.conf compatible description with uuid=, level=, | |
652 | disks= and - for Examine - devices= | |
b8a8ccf9 | 653 | --examine --brief collects all devices the make the one array and |
cd29a5c8 NB |
654 | list them as one entry. |
655 | - Added level= and disks= options to ARRAY lines in config files | |
656 | so --brief output could be used as-is. | |
657 | - Make parity style ({left,right}-{,a}symmetric) consistantly use -, | |
658 | never _. | |
659 | - Add "Array Size" to --detail output | |
660 | - Change "Size" to "Device Size" and exclude from Detail of arrays | |
661 | that do not have a consistent device size. | |
662 | - Add Human readable MiB or GiB value on size lines of Detail and Examine | |
663 | - --assemble --scan doesn't complain about active drives | |
664 | - require number of spares given in -x to be listed. | |
665 | - Made --build actually work. | |
666 | Changes Prior to 0.5 release | |
667 | ||
668 | --assemble: | |
669 | spare drives are handled properly. | |
670 | ||
671 | --force can be used to recover from 2-drive failures on RAID5 | |
672 | If you belive that /dev/hda1 /dev/hdb1 /dev/hdc1 /dev/hdd1 should | |
673 | make a raid5 array, but it has experienced multiple failures and | |
674 | wont start, then | |
675 | ||
676 | mdctl --assemble --force /dev/md0 /dev/hd[abcd]1 | |
677 | ||
678 | Should update the superblock on the newest failed drive and | |
679 | restart the array in degraded mode. You should then remove the | |
680 | remaining failed drive and re-add it (if you are happy that it | |
681 | might work). | |
682 | ||
683 | Ofcourse whenever you have a 2-drive failure, you have a risk | |
684 | of corruption in data that hasn't be changed for a long time. So | |
685 | this doesn't give you your array back all nice and happy, but it | |
686 | does allow you to recover data that might not be corrupt. | |
687 | ||
688 | More flexibility in identifying a RAID array in the mdctl.conf | |
689 | e.g. | |
690 | array /dev/md4 super-minor=4 | |
691 | ||
692 | assembles /dev/md4 from all devices found that have a raid | |
693 | superblock that says the minor number of the array is 4. | |
694 | If the blocks with the right minor number do not all have the | |
695 | same UUID, an error is flags and no assembly happens. | |
b8a8ccf9 | 696 | |
cd29a5c8 NB |
697 | array /dev/md3 devices=/dev/hd[abc]2 |
698 | ||
699 | Assembles /dev/md3 drom /dev/hda2 /dev/hdb2 and/dev/hdc2. All | |
700 | devices must exist and have raid superblock with the same uuid. | |
701 | ||
702 | If two identity specifiers are used, only devices that match all | |
703 | of them are considered, so | |
704 | ||
705 | array /dev/md2 devices=/dev/hd?2 super-minor=2 | |
706 | ||
b8a8ccf9 | 707 | will assemble /dev/md2 using all /dev/hd?2 devices which have a |
cd29a5c8 | 708 | raid superblock with minor number 2. |
b8a8ccf9 | 709 | |
cd29a5c8 NB |
710 | --create: |
711 | When listing devices for --create, the word "missing" can be | |
712 | used to indicate that the respective slot does not have a | |
713 | working drive currently. This is similar to the "failed-disk" | |
714 | directive in mkraid/raidtab. | |
715 | e.g. | |
716 | mdctl --create --level=5 -raid-disks=4 --spare-disks=2 | |
717 | /dev/md0 /dev/sda /dev/sdb missing /dev/sdc /dev/sdd /dev/sde | |
718 | ||
719 | will create a raid5 array with the third slot empty, and two | |
720 | spares. | |
721 | ||
722 | By default, raid5 arrays are created with the last slot empty | |
723 | and drive listed for the last slot added as a spare. If a | |
724 | "missing" slot is given, or if --force is given, then --create | |
725 | does exactly what you ask and doesn't try to be clever. | |
b8a8ccf9 | 726 | |
cd29a5c8 NB |
727 | |
728 | --follow / --monitor: | |
729 | ||
730 | This is a new mode. I couldn't stop my self from picking a name | |
731 | starting with F (as current modes start A,B,C,D,E) but I | |
732 | relented and provided an alternate name that is somewhat more | |
b8a8ccf9 NB |
733 | meaningful. |
734 | ||
cd29a5c8 NB |
735 | In this mode, mdctl does not exit, but runs continuously and |
736 | periodically polls all the md devices to see if they have had | |
737 | any interested state change. | |
738 | The changes that it currently notices are: | |
739 | Fail - an active disc fails | |
740 | FailSpare - a spare, that was presumably being build, fails | |
741 | ActiveSpare - a spare becomes active, presumably after a rebuild. | |
742 | ||
743 | Options: | |
744 | --mail mailaddress - send Email on any Fail* event | |
b8a8ccf9 | 745 | --program program - run the program on any event. |
cd29a5c8 NB |
746 | Args are: eventname mddevice subdevice(if-known) |
747 | --delay seconds - change from the default 60second pause | |
748 | between polls. | |
749 | ||
750 | I plan to add functionality to this mode to allow sharing of | |
751 | spare drives. If an array is marks "spare-group=fred", and it | |
752 | has a failed drive and no spares, and if some other array is | |
753 | also "spare-group=fred" and it has no failed drives, but does | |
754 | have a spare drive that is big enough, the spare will be moved | |
755 | to the first array. | |
756 | ||
757 | I also have the idea of adding a --grow mode which will re-organise | |
758 | the data on an N disk raid0/4/5 array to be on an N+M disk array. | |
759 | I have no concrete plans for this though. | |
760 | ||
761 | I got rid of the "v" in the archive file name, and include the | |
762 | version number in the directory created by the archive. | |
763 | ||
764 | There is now a man page and mdctl.spec (for rpm) thanks to | |
765 | Danilo Godec <danci@agenda.si>. | |
b8a8ccf9 | 766 | |
cd29a5c8 NB |
767 | Ofcourse, the man page is now out of date and despite being based on |
768 | the --help output, is not wholy correct. After I get --follow | |
769 | working properly, I plan to revise the various documentation and/or | |
770 | the code to make sure the two match. |