From 6e92d480f765dc22a5abaa5658ad603353648c1c Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Tue, 2 Jun 2009 15:37:56 +1000 Subject: Release mdadm-3.0 - remove lot of old 'ANNOUNCE' files - trim changelog - update version numbers Signed-off-by: NeilBrown --- ANNOUNCE-2.0 | 41 --- ANNOUNCE-2.1 | 37 --- ANNOUNCE-2.2 | 50 ---- ANNOUNCE-2.3 | 49 ---- ANNOUNCE-2.3.1 | 31 --- ANNOUNCE-2.4 | 45 --- ANNOUNCE-2.4-pre1 | 24 -- ANNOUNCE-2.4.1 | 31 --- ANNOUNCE-2.5 | 67 ----- ANNOUNCE-2.5.1 | 40 --- ANNOUNCE-2.5.2 | 45 --- ANNOUNCE-2.5.3 | 33 --- ANNOUNCE-2.5.4 | 38 --- ANNOUNCE-2.5.5 | 43 --- ANNOUNCE-2.5.6 | 32 --- ANNOUNCE-2.6 | 76 ----- ANNOUNCE-2.6.1 | 33 --- ANNOUNCE-2.6.2 | 37 --- ANNOUNCE-2.6.3 | 44 --- ANNOUNCE-2.6.4 | 31 --- ANNOUNCE-2.6.5 | 40 --- ANNOUNCE-2.6.6 | 27 -- ANNOUNCE-2.6.7 | 27 -- ANNOUNCE-2.6.8 | 58 ---- ANNOUNCE-2.6.9 | 51 ---- ANNOUNCE-3.0 | 98 +++++++ ANNOUNCE-3.0-devel1 | 84 ------ ANNOUNCE-3.0-devel2 | 98 ------- ANNOUNCE-3.0-devel3 | 113 -------- ANNOUNCE-3.0-rc1 | 139 ---------- ChangeLog | 781 +--------------------------------------------------- ReadMe.c | 2 +- inventory | 30 +- mdadm.8 | 2 +- mdadm.spec | 2 +- mdassemble.8 | 2 +- mdmon.8 | 2 +- 37 files changed, 115 insertions(+), 2268 deletions(-) delete mode 100644 ANNOUNCE-2.0 delete mode 100644 ANNOUNCE-2.1 delete mode 100644 ANNOUNCE-2.2 delete mode 100644 ANNOUNCE-2.3 delete mode 100644 ANNOUNCE-2.3.1 delete mode 100644 ANNOUNCE-2.4 delete mode 100644 ANNOUNCE-2.4-pre1 delete mode 100644 ANNOUNCE-2.4.1 delete mode 100644 ANNOUNCE-2.5 delete mode 100644 ANNOUNCE-2.5.1 delete mode 100644 ANNOUNCE-2.5.2 delete mode 100644 ANNOUNCE-2.5.3 delete mode 100644 ANNOUNCE-2.5.4 delete mode 100644 ANNOUNCE-2.5.5 delete mode 100644 ANNOUNCE-2.5.6 delete mode 100644 ANNOUNCE-2.6 delete mode 100644 ANNOUNCE-2.6.1 delete mode 100644 ANNOUNCE-2.6.2 delete mode 100644 ANNOUNCE-2.6.3 delete mode 100644 ANNOUNCE-2.6.4 delete mode 100644 ANNOUNCE-2.6.5 delete mode 100644 ANNOUNCE-2.6.6 delete mode 100644 ANNOUNCE-2.6.7 delete mode 100644 ANNOUNCE-2.6.8 delete mode 100644 ANNOUNCE-2.6.9 create mode 100644 ANNOUNCE-3.0 delete mode 100644 ANNOUNCE-3.0-devel1 delete mode 100644 ANNOUNCE-3.0-devel2 delete mode 100644 ANNOUNCE-3.0-devel3 delete mode 100644 ANNOUNCE-3.0-rc1 diff --git a/ANNOUNCE-2.0 b/ANNOUNCE-2.0 deleted file mode 100644 index 46e1d98..0000000 --- a/ANNOUNCE-2.0 +++ /dev/null @@ -1,41 +0,0 @@ -Subject: ANNOUNCE: mdadm 2.0 - A tool for managing Soft RAID under Linux - -I am (at last) please to announce the availability of - mdadm version 2.0 - -It is available at the usual places: - http://www.cse.unsw.edu.au/~neilb/source/mdadm/ -and - http://www.{countrycode}.kernel.org/pub/linux/utils/raid/mdadm/ - -mdadm is a tool for creating, managing and monitoring -device arrays using the "md" driver in Linux, also -known as Software RAID arrays. - -Release 2.0 contains a substantial rewrite of various pieces of -functionality, particularly the --create option. This enables support -for a new style of superblock - the version-1 superblock. -Version-1 can support many more than 28 devices and can be easily -moved between hosts with different endian-ness. -Release 2.0 also contains support for the recent bitmap-intent-logging -which will appear in 2.6.13, and the RAID1 write-behind that will be -available in 2.6.14 (it is currently only in -mm). - -This release comes with a test-suite which has been used to verify that -mdadm-2.0 actually works in a number of common scenarios. Some of the -tests require a bleeding-edge kernel, so don't be surprised if some fail -on kernels prior to 2.6.14. - -Being a '.0' release, 2.0 should be treated with some caution. -However I believe it is quite stable and can safely be used on -production systems. - -Note that this release is "2.0", not "2.0.0". I never found a use for -the third number with 1.X.Y, so I dropped it. - - -Development of mdadm has moved from CSE@UNSW and is now sponsored by - SUSE Labs, Novell Inc. - -NeilBrown 26th August 2005 - diff --git a/ANNOUNCE-2.1 b/ANNOUNCE-2.1 deleted file mode 100644 index fd328e7..0000000 --- a/ANNOUNCE-2.1 +++ /dev/null @@ -1,37 +0,0 @@ -Subject: ANNOUNCE: mdadm 2.1 - A tool for managing Soft RAID under Linux - -I am pleased to announce the availability of - mdadm version 2.1 - -It is available at the usual places: - http://www.cse.unsw.edu.au/~neilb/source/mdadm/ -and - http://www.{countrycode}.kernel.org/pub/linux/utils/raid/mdadm/ - -mdadm is a tool for creating, managing and monitoring -device arrays using the "md" driver in Linux, also -known as Software RAID arrays. - -Release 2.1 fixes a few problems found after the release of 2.0. -If you are using raid10 or version-1 superblocks and upgrade is -recommended. - -Specifically: - - Fix assembling of raid10 array when devices are missing. - mdadm now correctly detects if a array is workable or not - depending on which devices are present, and so will correctly - handle "--assemble --force" if multiple devices have failed. - - Report raid10 layout in --examine output. - - Fix assembling of arrays that use the version-1 superblock and - have spares. Previously the spares would be ignored. - - Fix bug so that multiple drives can be re-added at once. - - Fix problem with hot-adding a bitmap to version-1-superblock - arrays. - - -Development of mdadm is sponsored by - SUSE Labs, Novell Inc. - -NeilBrown 12th September 2005 - - diff --git a/ANNOUNCE-2.2 b/ANNOUNCE-2.2 deleted file mode 100644 index 8474c21..0000000 --- a/ANNOUNCE-2.2 +++ /dev/null @@ -1,50 +0,0 @@ -Subject: ANNOUNCE: mdadm 2.2 - A tool for managing Soft RAID under Linux - -I am pleased to announce the availability of - mdadm version 2.2 - -It is available at the usual places: - http://www.cse.unsw.edu.au/~neilb/source/mdadm/ -and - http://www.{countrycode}.kernel.org/pub/linux/utils/raid/mdadm/ - -mdadm is a tool for creating, managing and monitoring -device arrays using the "md" driver in Linux, also -known as Software RAID arrays. - -Release 2.2 fixes a few small bugs and add as few small elements of -functionality. Possibly the most interesting is the addition of -'README.initramfs' and 'mkinitramfs'. Feedback on these would be -most welcome. - -Changelog Entries: - - Assorted bug fixes - - Support write-intent-bitmaps on raid10 - - Support little-endian (Rather than hostendian) bitmaps. - - Return correct error code from 'mdadm -S' - - Remove extra blank line from 'mdadm -Eb' output. - - Improve option parsing so that -a and -b do not have - optional arguements: the arg is either required or not - depending on context. - - Allow scanning of devices listed in /proc/partitions even - if they don't appear in /dev. - - Support --assume-clean in --create mode as well as --build - - Add support for --monitor to report to syslog: -y or --syslog. - Thanks to Ross Vandegrift - - --monitor now reports which device failed in a 'Fail' message - This broke with 2.6 - - Improve chance of array starting properly after a crash. - mdadm was insisting the event numbers were identical, but this - isn't needed, and is a problem if the crash was while the metadata - was being updated. - - Support --update==uuid - - Added README.initramfs and mkinitramfs to help people use an - initram for starting md arrays at boot. - - -Development of mdadm is sponsored by - SUSE Labs, Novell Inc. - -NeilBrown 5th December 2005 - - diff --git a/ANNOUNCE-2.3 b/ANNOUNCE-2.3 deleted file mode 100644 index b57dcb0..0000000 --- a/ANNOUNCE-2.3 +++ /dev/null @@ -1,49 +0,0 @@ -Subject: ANNOUNCE: mdadm 2.3 - A tool for managing Soft RAID under Linux - -I am pleased to announce the availability of - mdadm version 2.3 - -It is available at the usual places: - http://www.cse.unsw.edu.au/~neilb/source/mdadm/ -and - http://www.{countrycode}.kernel.org/pub/linux/utils/raid/mdadm/ - -mdadm is a tool for creating, managing and monitoring -device arrays using the "md" driver in Linux, also -known as Software RAID arrays. - -Release 2.3 fixes an assortment of bugs including the "--assemble --scan" -crash. It also makes mdadm better at handling very large arrays. -Finally, it adds some functionality to support some pending kernel -features such as raid5 reshaping. - -Changelog Entries: - - Try /etc/mdadm/mdadm.conf if /etc/mdadm.conf doesn't exist. - This provided compatability for Debian. - - Fixed for version-1 superblock: - report chunksize for raid6 and raid10 - make sure device size used is a multiple of chunksize - - Fix "--assemble --scan" crash. - - Fix completely failure to create array on ppc64 - - Fix memcmp in place of memcpy - - A few minor improvements to online help - - Clean up usage of 'long long' for used-size of devices, so - that it is possible to create a raid1 of 7TB devices! - - Make internal bitmaps work on 7TB raid1 arrays. - - Provide error message if --examine doesn't find any superblock. - - Report 'reshape' status in --examine - this depends on kernel - patches that are not yet finalised. - - Report bitmap status in --detail and --examine - - Default to v1 superblocks instead of v0.90 if the array - is too big for 0.90 to handle. - - Sort the output of "mdadm --detail --scan" so that it is - in a suitable order for assembling arrays. i.e. components come - before an array that they are part of. - - Print size of large reiserfs array properly went warning of - possible confilcts. - -Development of mdadm is sponsored by - SUSE Labs, Novell Inc. - -NeilBrown 2nd February 2006 - diff --git a/ANNOUNCE-2.3.1 b/ANNOUNCE-2.3.1 deleted file mode 100644 index b84668b..0000000 --- a/ANNOUNCE-2.3.1 +++ /dev/null @@ -1,31 +0,0 @@ -Subject: ANNOUNCE: mdadm 2.3.1 - A tool for managing Soft RAID under Linux - -I am pleased to announce the availability of - mdadm version 2.3.1 - -It is available at the usual places: - http://www.cse.unsw.edu.au/~neilb/source/mdadm/ -and - http://www.{countrycode}.kernel.org/pub/linux/utils/raid/mdadm/ - -mdadm is a tool for creating, managing and monitoring -device arrays using the "md" driver in Linux, also -known as Software RAID arrays. - -Release 2.3.1 primarily fixes a few compile problems with 2.3. Though -there are some functionality changes, they are extremely minor and you -probably won't notice them. - -Changelog Entries: - - Fixed -O2 compile so I could make and RPM. - - Type cast number to be printed %llu so it compiles on 64bit - machines. (Thanks Luca). - - Stop using asm/byteorder.h - to make Redhat happy :-( - - Require bitmap files to have a '/' in their name. - - Error-check a few syscalls - code from SuSE package. - -Development of mdadm is sponsored by - SUSE Labs, Novell Inc. - -NeilBrown 6th February 2006 - diff --git a/ANNOUNCE-2.4 b/ANNOUNCE-2.4 deleted file mode 100644 index 3923af5..0000000 --- a/ANNOUNCE-2.4 +++ /dev/null @@ -1,45 +0,0 @@ -Subject: ANNOUNCE: mdadm 2.4 - A tool for managing Soft RAID under Linux - -I am pleased to announce the availability of - mdadm version 2.4 - -It is available at the usual places: - http://www.cse.unsw.edu.au/~neilb/source/mdadm/ -and - http://www.{countrycode}.kernel.org/pub/linux/utils/raid/mdadm/ - -mdadm is a tool for creating, managing and monitoring -device arrays using the "md" driver in Linux, also -known as Software RAID arrays. - -Release 2.4 primarily adds support for increasing the number of -devices in a RAID5 array, which requires 2.6.17 (or some -rc or -mm -prerelease). -It also includes a number of minor functionality enhancements and -documentation updates. - -Changelog Entries: - - Rewrite 'reshape' support including performing a backup - of the critical region for a raid5 growth, and restoring that - backup after a crash. - - Put a 'canary' at each end of the backup so a corruption - can be more easily detected. - - Remove useless 'ident' arguement from ->getinfo_super method. - - Support --backup-file for backing-up critical section during - growth. - - Erase old superblocks (of different versions) when creating new - array. - - Allow --monitor to work with arrays with >28 devices - - Report reshape information in --detail - - Handle symlinks in /dev better - - Fix mess in --detail output which a device is missing. - - Manpage tidyup - - Support 'bitmap=' in mdadm.conf for auto-assembling arrays with - write-intent bitmaps in separate files. - - Updates to md.4 man page including section on RESTRIPING and SYSFS - -Development of mdadm is sponsored by - SUSE Labs, Novell Inc. - -NeilBrown 30th March 2006 - diff --git a/ANNOUNCE-2.4-pre1 b/ANNOUNCE-2.4-pre1 deleted file mode 100644 index bd906b4..0000000 --- a/ANNOUNCE-2.4-pre1 +++ /dev/null @@ -1,24 +0,0 @@ -Subject: ANNOUNCE: mdadm 2.4-pre1 - development release for testing only - -I am somewhat cautious in announcing the availability of - mdadm version 2.4-pre1 - -It is available at the usual places: - http://www.cse.unsw.edu.au/~neilb/source/mdadm/ -and - http://www.{countrycode}.kernel.org/pub/linux/utils/raid/mdadm/ - -pre-release 2.4-pre1 contains support for growing a raid5 array i.e. -adding extra drives and restriping the whole arrays. - -This requires a kernel more recent than 2.6.16-rc6-mm2. - -During a restripe, there is a crtical section at the start where a -system crash can leave the contents of the raid5 unrecoverable. This -version of mdadm will backup that section, and can restore it when -reassembling the array after a crash. - -Have fun, but use it carefully and report any problems. - -NeilBrown 20th March 2006 - diff --git a/ANNOUNCE-2.4.1 b/ANNOUNCE-2.4.1 deleted file mode 100644 index 255f049..0000000 --- a/ANNOUNCE-2.4.1 +++ /dev/null @@ -1,31 +0,0 @@ -Subject: ANNOUNCE: mdadm 2.4.1 - A tool for managing Soft RAID under Linux - -I am pleased to announce the availability of - mdadm version 2.4.1 - -It is available at the usual places: - http://www.cse.unsw.edu.au/~neilb/source/mdadm/ -and - http://www.{countrycode}.kernel.org/pub/linux/utils/raid/mdadm/ - -mdadm is a tool for creating, managing and monitoring -device arrays using the "md" driver in Linux, also -known as Software RAID arrays. - -2.4.1 primarily fixes an alignment problem in the version-1 -superblock. This is an incompatible change relating to -raid5-reshape. Read the change log below. - -Changelog Entries: - - Honour --write-mostly when adding to an array without persistent - superblocks. - - Fix alignment problem in version-1 superblocks. - NOTE: This is an incompatable change affecting raid5 reshape. - If you want to reshape a raid5 using version-1 superblocks, - use 2.6.17-rc2 or later, and mdadm-2.4.1 or later. - -Development of mdadm is sponsored by - SUSE Labs, Novell Inc. - -NeilBrown 7th April 2006 - diff --git a/ANNOUNCE-2.5 b/ANNOUNCE-2.5 deleted file mode 100644 index 8515015..0000000 --- a/ANNOUNCE-2.5 +++ /dev/null @@ -1,67 +0,0 @@ -Subject: ANNOUNCE: mdadm 2.5 - A tool for managing Soft RAID under Linux - -I am pleased to announce the availability of - mdadm version 2.5 - -It is available at the usual places: - http://www.cse.unsw.edu.au/~neilb/source/mdadm/ -and - http://www.{countrycode}.kernel.org/pub/linux/utils/raid/mdadm/ - -mdadm is a tool for creating, managing and monitoring -device arrays using the "md" driver in Linux, also -known as Software RAID arrays. - -Release 2.5 adds a host of minor updates and one major update. - -The major update involves an "Auto Assemble" function which will, -with certainly limits, scan all available devices for anything that -looks like an md array, and will try to assemble it. -This code should be treated with some caution as it is very new, -and could be revised in future, though hopefully not very much. - -The main problem I have always had will auto-assembly is that it -is too easy for it to assemble thing that you don't want assembled, -e.g. if you have moved some devices from a different computer. -To remove this problem, arrays can now be tagged for the computer -that is their home (homehost) and only arrays with the correct -homehost will be auto-assembled. - -Feedback on the effectiveness and usefulness of this feature and it's -documentation is encouraged. - -Changelog Entries: - - Support 'mailfrom' line in mdadm.conf so the From: line in alert - emails can be explicitly set. - - Arrange that SparesMissing (which is similar in import to - DegradedArray) generates an Email. - - Assume "DEVICE partitions" if no DEVICE line is given. - - Support new 'offset' layout for raid10. - - When creating a bitmap file, choose a chunksize to limit number - of bitmap chunks to 2 million. More than this can cause kmalloc - failure. - - New 'CREATE' line in mdadm.conf for defaults such as owner, group, - mode and auto-flag - - --detail checks if array has been started or not and includes that - in report. - - When using --update=uuid on an array with a bitmap, update the - bitmap's uuid too. - - Add a copy of /proc/mdstat to the mail message sent by mdadm - --monitor. - - New flag --no-degraded to avoid starting arrays if there are - fewer devices available than last time the array was started. - This is only needed with --scan, as with --scan, that behaviour - is the default. - - Support for 'homehost' concept. This is a fairly major update. - It includes a configfile option and a command line option for - specifying a homehost, records that host in the superblock, - and reports the homehost where possible. - - Support for Auto Assembly. "mdadm -As" will, if provided with - the name of a homehost, try to assemble all arrays it can find - that were created for that homehost. See man pages for more details. - -Development of mdadm is sponsored by - SUSE Labs, Novell Inc. - -NeilBrown 26th May 2006 - diff --git a/ANNOUNCE-2.5.1 b/ANNOUNCE-2.5.1 deleted file mode 100644 index 75c48e8..0000000 --- a/ANNOUNCE-2.5.1 +++ /dev/null @@ -1,40 +0,0 @@ -Subject: ANNOUNCE: mdadm 2.5.1 - A tool for managing Soft RAID under Linux - -I am pleased to announce the availability of - mdadm version 2.5.1 - -It is available at the usual places: - http://www.cse.unsw.edu.au/~neilb/source/mdadm/ -and - http://www.{countrycode}.kernel.org/pub/linux/utils/raid/mdadm/ -and via git at - git://neil.brown.name/git/mdadm - -mdadm is a tool for creating, managing and monitoring -device arrays using the "md" driver in Linux, also -known as Software RAID arrays. - -Release 2.5.1 adds multiple minor updates including a couple of bugfixes. - -Changelog Entries: - - Various fixes for gcc warnings - - uclibc warnings - - Makefile improvements for static linking/intalling - - Makefile uninstall target - - Really fix return status of --examine - - Typos - - Byteorder stuff (again) - - Don't try to create devices with --manage or --grow - - allow default metadata (superblock) type to be specified - in mdadm.conf - - Get --stop to list devices stopped but honour --quiet - - remove libssl dependency - - Avoid some misdetection of overlapping partitions - - Fix memory leak in --monitor mode - -Development of mdadm is sponsored by - SUSE Labs, Novell Inc. - -NeilBrown 16th June 2006 - - diff --git a/ANNOUNCE-2.5.2 b/ANNOUNCE-2.5.2 deleted file mode 100644 index 06fd949..0000000 --- a/ANNOUNCE-2.5.2 +++ /dev/null @@ -1,45 +0,0 @@ -Subject: ANNOUNCE: mdadm 2.5.2 - A tool for managing Soft RAID under Linux - -I am pleased to announce the availability of - mdadm version 2.5.2 - -It is available at the usual places: - http://www.cse.unsw.edu.au/~neilb/source/mdadm/ -and - countrycode=xx. - http://www.${countrycode}kernel.org/pub/linux/utils/raid/mdadm/ -and via git at - git://neil.brown.name/mdadm - http://neil.brown.name/git?p=mdadm - -mdadm is a tool for creating, managing and monitoring -device arrays using the "md" driver in Linux, also -known as Software RAID arrays. - -Release 2.5.2 is primarily a bugfix release over 2.5.1. -It also contains a work-around for a kernel bug which affects -hot-adding to arrays with a version-1 superblock. - -Changelog Entries: - - Fix problem with compiling with gcc-2 compilers - - Fix compile problem of post-incrmenting a variable in a macro arg. - - Stop map_dev from returning [0:0], as that breaks things. - - Add 'Array Slot' line to --examine for version-1 superblocks - to make it a bit easier to see what is happening. - - Work around bug in --add handling for version-1 superblocks - in 2.6.17 (and prior). - - Make -assemble a bit more resilient to finding strange - information in superblocks. - - Don't claim newly added spares are InSync!! (don't know why that - code was ever in there) - - Work better when no 'ftw' is available, and check to see - if current uclibc provides ftw. - - Never use /etc/mdadm.conf if --config file is given (previously - some code used one, some used the other). - -Development of mdadm is sponsored by - SUSE Labs, Novell Inc. - -NeilBrown 27th June 2006 - - diff --git a/ANNOUNCE-2.5.3 b/ANNOUNCE-2.5.3 deleted file mode 100644 index 92aa278..0000000 --- a/ANNOUNCE-2.5.3 +++ /dev/null @@ -1,33 +0,0 @@ -Subject: ANNOUNCE: mdadm 2.5.3 - A tool for managing Soft RAID under Linux - -I am pleased to announce the availability of - mdadm version 2.5.3 - -It is available at the usual places: - http://www.cse.unsw.edu.au/~neilb/source/mdadm/ -and - countrycode=xx. - http://www.${countrycode}kernel.org/pub/linux/utils/raid/mdadm/ -and via git at - git://neil.brown.name/mdadm - http://neil.brown.name/git?p=mdadm - -mdadm is a tool for creating, managing and monitoring -device arrays using the "md" driver in Linux, also -known as Software RAID arrays. - -Release 2.5.3 is a bugfix release over 2.5.2. - -Changelog Entries: - - Document v0.91 superblocks in md.4 - - Make GPL explicit in man pages. - - Fix recent breakage of starting degraded arrays. - - Tidyup automatic name choice for v-1 arrays: - /dev/md_d0 now becomes '0', not '_d0'. - -Development of mdadm is sponsored by - SUSE Labs, Novell Inc. - -NeilBrown 7th August 2006 - - diff --git a/ANNOUNCE-2.5.4 b/ANNOUNCE-2.5.4 deleted file mode 100644 index bf2f197..0000000 --- a/ANNOUNCE-2.5.4 +++ /dev/null @@ -1,38 +0,0 @@ -Subject: ANNOUNCE: mdadm 2.5.4 - A tool for managing Soft RAID under Linux - -I am pleased to announce the availability of - mdadm version 2.5.4 - -It is available at the usual places: - http://www.cse.unsw.edu.au/~neilb/source/mdadm/ -and - countrycode=xx. - http://www.${countrycode}kernel.org/pub/linux/utils/raid/mdadm/ -and via git at - git://neil.brown.name/mdadm - http://neil.brown.name/git?p=mdadm - -mdadm is a tool for creating, managing and monitoring -device arrays using the "md" driver in Linux, also -known as Software RAID arrays. - -Release 2.5.4 is a bugfix release over 2.5.3 - -Changelog Entries: - - When creating devices in /dev/md/ create matching symlinks - from /dev. e.g. /dev/md0 -> /dev/md/0. - Allow this to be disabled in mdadm.conf or on command line. - - Fix some endian-ness issues with version-1 superblocks (affects - bigendian only). - - Fix endian problem with 'bitmap' metadata - - Allow a number (of partitions) after the 'yes' option to --auto= - This is particularly useful in the 'create' line in mdadm.conf. - - Remove partitions from any whole device that is made part of - an md array. This is a work-around for annoying messages - when the first block on some drive accidentally looks like a - partition table. - -Development of mdadm is sponsored by - SUSE Labs, Novell Inc. - -NeilBrown 13th October 2006 diff --git a/ANNOUNCE-2.5.5 b/ANNOUNCE-2.5.5 deleted file mode 100644 index 73eea4e..0000000 --- a/ANNOUNCE-2.5.5 +++ /dev/null @@ -1,43 +0,0 @@ -Subject: ANNOUNCE: mdadm 2.5.5 - A tool for managing Soft RAID under Linux - -I am pleased to announce the availability of - mdadm version 2.5.5 - -It is available at the usual places: - http://www.cse.unsw.edu.au/~neilb/source/mdadm/ -and - countrycode=xx. - http://www.${countrycode}kernel.org/pub/linux/utils/raid/mdadm/ -and via git at - git://neil.brown.name/mdadm - http://neil.brown.name/git?p=mdadm - -mdadm is a tool for creating, managing and monitoring -device arrays using the "md" driver in Linux, also -known as Software RAID arrays. - -Release 2.5.5 is a bugfix release over 2.5.4. -Hopefully the last before 2.6. - -Changelog Entries: - - Don't #include linux/blkpg.h as that isn't safe. Just - include the content literally. - - Reduce maximum bitmap usage when working with bitmap files, - so that a only single-page allocations are made, even on - 64bit hosts with 4K pages. - - Close stray fd in mdassemble so that it can assemble stacked - devices - - If mdassemble finds an array already assembled, it marks it - read-write. - - Remove error in md_open if array is already active. This isn't - needed and gets in the ways if an array was created e.g. in - initramfs, but device doesn't yet exist in /dev. - - When --assemble --scan is run, if all arrays that could be found - have already been started, don't report an error. - - Fix a couple of bugs related to raid10 and the new 'offset' layout. - - Improve error message when a wrong '--update' option is given. - -Development of mdadm is sponsored by - SUSE Labs, Novell Inc. - -NeilBrown 23rd October 2006 diff --git a/ANNOUNCE-2.5.6 b/ANNOUNCE-2.5.6 deleted file mode 100644 index 80daa7c..0000000 --- a/ANNOUNCE-2.5.6 +++ /dev/null @@ -1,32 +0,0 @@ -Subject: ANNOUNCE: mdadm 2.5.6 - A tool for managing Soft RAID under Linux - -I am pleased to announce the availability of - mdadm version 2.5.6 - -It is available at the usual places: - http://www.cse.unsw.edu.au/~neilb/source/mdadm/ -and - countrycode=xx. - http://www.${countrycode}kernel.org/pub/linux/utils/raid/mdadm/ -and via git at - git://neil.brown.name/mdadm - http://neil.brown.name/git?p=mdadm - -mdadm is a tool for creating, managing and monitoring -device arrays using the "md" driver in Linux, also -known as Software RAID arrays. - -Release 2.5.6 is a bugfix release over 2.5.5, which it turns out -wasn't the last before 2.6. Maybe this one? - -Changelog Entries: - - Fix bug which meant "bitmap=xxx" in mdadm.conf was not handled - properly. - - Documentation updates. - - Fix bug that caused infinite loop when doing auto-assembly, - in certain cases where arrays couldn't be assembled. - -Development of mdadm is sponsored by - SUSE Labs, Novell Inc. - -NeilBrown 6th November 2006 diff --git a/ANNOUNCE-2.6 b/ANNOUNCE-2.6 deleted file mode 100644 index cd3741d..0000000 --- a/ANNOUNCE-2.6 +++ /dev/null @@ -1,76 +0,0 @@ -Subject: ANNOUNCE: mdadm 2.6 - A tool for managing Soft RAID under Linux - -I am pleased to announce the availability of - mdadm version 2.6 - -It is available at the usual places: - http://www.cse.unsw.edu.au/~neilb/source/mdadm/ -and - countrycode=xx. - http://www.${countrycode}kernel.org/pub/linux/utils/raid/mdadm/ -and via git at - git://neil.brown.name/mdadm - http://neil.brown.name/git?p=mdadm - -mdadm is a tool for creating, managing and monitoring -device arrays using the "md" driver in Linux, also -known as Software RAID arrays. - -Release 2.6 adds assorted fixes and improvements and a new major mode. -"Incremental Assembly" via -I or --incremental can be used to -assemble an array one device at a time. The idea is that you get -udev to run "mdadm -Iq devicename" on each new block device that it -finds. Anything that is part of an array gets included in an array as -appropriate. -Two special notes: - 1/ This is very new code and is probably buggy. It passes a few basic - tests, and helped me find some kernel bugs, but it is still fresh - and should not be considered 'stable'. Please test and provide - feedback. - 2/ There is a bug in the linux kernel that makes incremental assembly - not possible in general (you cannot safely remove a drive from an array - that has not yet been started. This is needed if an old device was - detected first). If mdadm detects a kernel which might have the - bug, it rejects --incremental requests. - The bug will hopefully be fixed in 2.6.20 and this mdadm release - contains patches for 2.6.18, 2.6.18.6 and 2.6.19. Apply the - appropriate patch to test --incremental. - -Changelog Entries: - - Fixed UUID printing in "--detail --brief" for version1 metadata. - - --update=resync did exactly the wrong thing for version1 metadata. - It caused a resync to not happen, rather than to happen. - - Allow --assemble --force to mark a raid6 clean when it has two - missing devices (which is needed else if won't assemble. - Without this fix it would only assemble if one or zero - missing devices. - - Support --update=devicesize for cases where the underlying device - can change size. - - Default to --auto=yes so the array devices with 'standard' names - get created automatically, as this is almost always what is wanted. - - Give useful message if raid4/5/6 cannot be started because it is - not clean and is also degraded. - - Increase raid456 stripe cache size if needed to --grow the array. - The setting used unfortunately requires intimate knowledge of the - kernel, and it not reset when the reshape finishes. - - Change 'Device Size' to 'Used Dev Size' because it only shows how - much of each device is actually used, not how big they are. - - --wait or -W will wait for resync activity to finish on the given - devices. - - Fix some problems with --update=uuid and add a test. - - If two drives in a raid5 disappear at the same time, then "-Af" - will add them both in rather than just one and forcing the array - to 'clean'. This is slightly safer in some cases. - - Check device is large enough before hot-add: this improves quality - of error message. - - Don't hold md device open for so long in --monitor mode - map_dev - can be slow and interferes with trying to stop the array. - - Support --uuid= with --create to choose your own UUID. - - New major more "--incremental" for incremental assemble of arrays, - intended for use with udev. - -Development of mdadm is sponsored by - SUSE Labs, Novell Inc. - -NeilBrown 21st December 2006 -Blessed Christmas to all. diff --git a/ANNOUNCE-2.6.1 b/ANNOUNCE-2.6.1 deleted file mode 100644 index 2cea723..0000000 --- a/ANNOUNCE-2.6.1 +++ /dev/null @@ -1,33 +0,0 @@ -Subject: ANNOUNCE: mdadm 2.6.1 - A tool for managing Soft RAID under Linux - -I am pleased to announce the availability of - mdadm version 2.6.1 - -It is available at the usual places: - http://www.cse.unsw.edu.au/~neilb/source/mdadm/ -and - countrycode=xx. - http://www.${countrycode}kernel.org/pub/linux/utils/raid/mdadm/ -and via git at - git://neil.brown.name/mdadm - http://neil.brown.name/git?p=mdadm - -mdadm is a tool for creating, managing and monitoring -device arrays using the "md" driver in Linux, also -known as Software RAID arrays. - -Release 2.6.1 adds a few minor bug fixes to 2.6 including improved -support for growing a RAID6 array. - -Changelog Entries: - - --monitor was producing some meaningless warnings due to a bug. - - Fix some compiler warnings. - - Fully support --grow for raid6. If a reshape crashed during the - critical period, mdadm wouldn't restore the Q information - properly. - - Update documentation for --grow. - -Development of mdadm is sponsored by - SUSE Labs, Novell Inc. - -NeilBrown 22nd February 2007 diff --git a/ANNOUNCE-2.6.2 b/ANNOUNCE-2.6.2 deleted file mode 100644 index 215bd1a..0000000 --- a/ANNOUNCE-2.6.2 +++ /dev/null @@ -1,37 +0,0 @@ -Subject: ANNOUNCE: mdadm 2.6.2 - A tool for managing Soft RAID under Linux - -I am pleased to announce the availability of - mdadm version 2.6.2 - -It is available at the usual places: - http://www.cse.unsw.edu.au/~neilb/source/mdadm/ -and - countrycode=xx. - http://www.${countrycode}kernel.org/pub/linux/utils/raid/mdadm/ -and via git at - git://neil.brown.name/mdadm - http://neil.brown.name/git?p=mdadm - -mdadm is a tool for creating, managing and monitoring -device arrays using the "md" driver in Linux, also -known as Software RAID arrays. - -Release 2.6.2 adds a few minor bug fixes to 2.6.1 - -Changelog Entries: - - --fail detached and --remove faulty can be used to fail and - remove devices that are no longer physically present. - - --export option for --detail or present information in a format - that can be processed by udev. - - fix internal bitmap allocation problems with v1.1, v1.2 metadata. - - --help now goes to stdout so you can direct it to a pager. - - Various manpage updates. - - Make "--grow --add" for linear arrays really work. - - --auto-detect to trigger in-kernel autodetect. - - Make return code for "--detail --test" more reliable. Missing - devices as well as failed devices cause an error. - -Development of mdadm is sponsored by - SUSE Labs, Novell Inc. - -NeilBrown 21st May 2007 diff --git a/ANNOUNCE-2.6.3 b/ANNOUNCE-2.6.3 deleted file mode 100644 index 168539d..0000000 --- a/ANNOUNCE-2.6.3 +++ /dev/null @@ -1,44 +0,0 @@ -Subject: ANNOUNCE: mdadm 2.6.3 - A tool for managing Soft RAID under Linux - -I am pleased to announce the availability of - mdadm version 2.6.3 - -It is available at the usual places: - http://www.cse.unsw.edu.au/~neilb/source/mdadm/ -and - countrycode=xx. - http://www.${countrycode}kernel.org/pub/linux/utils/raid/mdadm/ -and via git at - git://neil.brown.name/mdadm - http://neil.brown.name/git?p=mdadm - -mdadm is a tool for creating, managing and monitoring -device arrays using the "md" driver in Linux, also -known as Software RAID arrays. - -Release 2.6.3 adds a few minor bug fixes to 2.6.2 - -Changelog Entries: - - allow --write-behind to be set for --grow. - - When adding new disk to an array, don't reserve so much bitmap - space that the disk cannot store the required data. (Needed when - 1.x array was created with older mdadm). - - When adding a drive that was a little too small, we did not get - the correct error message. - - Make sure that if --assemble find an array in the critical region - of a reshape, and cannot find the critical data to restart the - reshape, it gives an error message. - - Fix segfault with '--detail --export' and non-persistent - superblocks. - - Various manpage updates. - - Improved 'raid4' support (--assemble, --monitor) - - Option parsing fixes w.r.t -a - - Interpret "--assemble --metadata=1" to allow any version 1.x - metadata, and be more specific in the "metadata=" message printed - with --examine --brief - - Fix spare migration in --monitor. - -Development of mdadm is sponsored by - SUSE Labs, Novell Inc. - -NeilBrown 20th August 2007 diff --git a/ANNOUNCE-2.6.4 b/ANNOUNCE-2.6.4 deleted file mode 100644 index fd745fa..0000000 --- a/ANNOUNCE-2.6.4 +++ /dev/null @@ -1,31 +0,0 @@ -Subject: ANNOUNCE: mdadm 2.6.4 - A tool for managing Soft RAID under Linux - -I am pleased to announce the availability of - mdadm version 2.6.4 - -It is available at the usual places: - http://www.cse.unsw.edu.au/~neilb/source/mdadm/ -and - countrycode=xx. - http://www.${countrycode}kernel.org/pub/linux/utils/raid/mdadm/ -and via git at - git://neil.brown.name/mdadm - http://neil.brown.name/git?p=mdadm - -mdadm is a tool for creating, managing and monitoring -device arrays using the "md" driver in Linux, also -known as Software RAID arrays. - -Release 2.6.4 adds a few minor bug fixes to 2.6.3 - -Changelog Entries: - - Make "--create --auto=mdp" work for non-standard device names. - - Fix restarting of a 'reshape' if it was stopped in the middle. - - Fix a segfault when using v1 superblock. - - Make --write-mostly effective when re-adding a device to an array. - - Various minor fixes - -Development of mdadm is sponsored by - SUSE Labs, Novell Inc. - -NeilBrown 19th October 2007 diff --git a/ANNOUNCE-2.6.5 b/ANNOUNCE-2.6.5 deleted file mode 100644 index c5f3138..0000000 --- a/ANNOUNCE-2.6.5 +++ /dev/null @@ -1,40 +0,0 @@ -Subject: ANNOUNCE: mdadm 2.6.5 - A tool for managing Soft RAID under Linux - -I am pleased to announce the availability of - mdadm version 2.6.5 - -It is available at the usual places: - countrycode=xx. - http://www.${countrycode}kernel.org/pub/linux/utils/raid/mdadm/ -and via git at - git://neil.brown.name/mdadm - http://neil.brown.name/git?p=mdadm - -mdadm is a tool for creating, managing and monitoring -device arrays using the "md" driver in Linux, also -known as Software RAID arrays. - -Release 2.6.5 adds a few minor bug fixes to 2.6.4 - -Changelog Entries: - - Avoid segfault when parsing /proc/mdstat with auto-read-only - arrays. - - Fix problem with failing to add devices to v.large (>4TB) arrays, - cause by problems with device-size overflow. - - For v0.90 superblocks, print the 'Events' count as a real count, - not 2 numbers separated by a dot. - - Updates some URLs in the man page. - - Allow creation of a RAID6 with exactly one missing device. - - Use LOG_PID for syslog, so you get the pid of mdadm in the log - files. - - --export now works with --examine too (not just --detail) - - Improve auto-creation of device special file when using - --incremental - - Simple locking for --incremental so mdadm doesn't get confused - when run concurrently with itself. - - Make --incremental cope better with arrays that are being reshaped. - -Development of mdadm is sponsored by - SUSE Labs, Novell Inc. - -NeilBrown 15th May 2007 diff --git a/ANNOUNCE-2.6.6 b/ANNOUNCE-2.6.6 deleted file mode 100644 index 8253429..0000000 --- a/ANNOUNCE-2.6.6 +++ /dev/null @@ -1,27 +0,0 @@ -Subject: ANNOUNCE: mdadm 2.6.6 - A tool for managing Soft RAID under Linux - -I am pleased to announce the availability of - mdadm version 2.6.6 - -It is available at the usual places: - countrycode=xx. - http://www.${countrycode}kernel.org/pub/linux/utils/raid/mdadm/ -and via git at - git://neil.brown.name/mdadm - http://neil.brown.name/git?p=mdadm - -mdadm is a tool for creating, managing and monitoring -device arrays using the "md" driver in Linux, also -known as Software RAID arrays. - -Release 2.6.6 fixes a compile problem in 2.6.5 and adds a small manpage update. - -Changelog Entries: - - "make everything" now make mdassemble.auto - - fix compile problem with mdassemble.auto - - Update FAQ URLs in man page again. - -Development of mdadm is sponsored by - SUSE Labs, Novell Inc. - -NeilBrown 19th May 2007 diff --git a/ANNOUNCE-2.6.7 b/ANNOUNCE-2.6.7 deleted file mode 100644 index 5fa4a80..0000000 --- a/ANNOUNCE-2.6.7 +++ /dev/null @@ -1,27 +0,0 @@ -Subject: ANNOUNCE: mdadm 2.6.7 - A tool for managing Soft RAID under Linux - -I am pleased to announce the availability of - mdadm version 2.6.7 - -It is available at the usual places: - countrycode=xx. - http://www.${countrycode}kernel.org/pub/linux/utils/raid/mdadm/ -and via git at - git://neil.brown.name/mdadm - http://neil.brown.name/git?p=mdadm - -mdadm is a tool for creating, managing and monitoring -device arrays using the "md" driver in Linux, also -known as Software RAID arrays. - -Release 2.6.7 fixes a few bugs in 2.6.5 which 2.6.6 didn't fix. - -Changelog Entries: - - Avoid NULL reference calling free_super and elsewhere. - - Remove stray semicolon (Causes compile error with gcc-2.95) - - Fix autoassemble for stack arrays. - -Development of mdadm is sponsored by - SUSE Labs, Novell Inc. - -NeilBrown 6th June 2008 diff --git a/ANNOUNCE-2.6.8 b/ANNOUNCE-2.6.8 deleted file mode 100644 index 55f484c..0000000 --- a/ANNOUNCE-2.6.8 +++ /dev/null @@ -1,58 +0,0 @@ -Subject: ANNOUNCE: mdadm 2.6.8 - A tool for managing Soft RAID under Linux - -I am pleased to announce the availability of - mdadm version 2.6.8 - -It is available at the usual places: - countrycode=xx. - http://www.${countrycode}kernel.org/pub/linux/utils/raid/mdadm/ -and via git at - git://neil.brown.name/mdadm - http://neil.brown.name/git?p=mdadm - -mdadm is a tool for creating, managing and monitoring -device arrays using the "md" driver in Linux, also -known as Software RAID arrays. - -Release 2.6.8 contains various bug fixes and minor enhancements. -It is possibly that 2.6.8 will be the last release in the 2.x -series and very likely that there will never be a 2.7. -Hopefully 3.0 will be released soon making future development -of 2.6.x unnecessary. However if a need does arise for a 2.6.9 -it will be considered. - -Changelog Entries: - fix add_dev() handling of broken links - Assemble: allow --force to work even when event counts are 0. - mapfile: fix bug in testing for /var/run/mdadm/ - Incremental: change precedence order for autof setting. - Adjust major number testing to allow for extended minor number in 2.6.28 - Incremental: allow assembly of foreign array. - Incremental: fix setting of 'autof' flag. - Fix --incremental assembly of partitions arrays. - Fix NULL pointer oops - Fix bad metadata formatting - Allow WRITEMOSTLY to be cleared on --readd using --readwrite. - Remove .UR .UE macros from man page because the don't do what we want. - Grow: Fix linear-growth when devices are not all the same size. - Improve reporting of layout for raid10. - Manage: allow adding device that is just large enough to v1.x array. - Cosmetic cleanup of some messages. - Clean up usage of open() - Add support for distribution specific build extensions - Fix confusing usage in md.4 man page. - Describe the HOMEHOST entry in the mdadm.conf man page. - Some more cleanup of tests. - Add test for stoping and restarting a raid5 reshape. - Add "bitmap=" to "--detail --brief" output when relevant. - Improve error message when mdadm fails to stop an array. - Couple more man page fixes - Add text to man pages suggesting partition type to use for version 1.x metadata. - Italic/bold fixes in man pages. - Fix bug in forced assemble. - Fix an error when assembling arrays that are in the middle of a reshape. - -Development of mdadm is sponsored by - SUSE Labs, Novell Inc. - -NeilBrown 28th November 2008 diff --git a/ANNOUNCE-2.6.9 b/ANNOUNCE-2.6.9 deleted file mode 100644 index ddbc530..0000000 --- a/ANNOUNCE-2.6.9 +++ /dev/null @@ -1,51 +0,0 @@ -Subject: ANNOUNCE: mdadm 2.6.9 - A tool for managing Soft RAID under Linux - -I am pleased to announce the availability of - mdadm version 2.6.9 - -It is available at the usual places: - countrycode=xx. - http://www.${countrycode}kernel.org/pub/linux/utils/raid/mdadm/ -and via git at - git://neil.brown.name/mdadm - http://neil.brown.name/git?p=mdadm - -mdadm is a tool for creating, managing and monitoring -device arrays using the "md" driver in Linux, also -known as Software RAID arrays. - -Release 2.6.9 contains various bug fixes. -Clearly 2.6.8 was not the final 2.x release. -Hopefully 2.6.9 will be as I don't want go to 2.7, and -2.6.10 might be confusing (though I'll probably go that -way if I need to). - -New features will only appear in the 3.x series of which 3.0 will be -release within a few months. - -Changelog Entries: - Bernhard Reutner-Fischer (1): - mdadm fix compilation for uClibc - - Dustin Kirkland (2): - Fail overtly when asprintf fails to allocate memory - Typo in earlier patch : asprintf -> vasprintf - - NeilBrown (11): - Allow --config in --incremental mode. - Kill: Don't use O_EXCL when --force is used. - Assemble: don't assume array is 'clean' unless all devices think it is. - Assemble: set stripe_cache_size properly when restarting a reshape. - map: rebuild map if it doesn't exist. - Free mdstat data structures properly. - Fix the used device size in mdadm -D output. - Document 'max' option to --grow --size in --help output. - Fix possible crash if bitmap metadata is bad. - Monitor: send --test message for arrays in /proc/mdstat that aren't in mdadm.conf - super1: make sure max_dev grows enough when adding a device to an array. - - -Development of mdadm is sponsored by - SUSE Labs, Novell Inc. - -NeilBrown 28th November 2008 diff --git a/ANNOUNCE-3.0 b/ANNOUNCE-3.0 new file mode 100644 index 0000000..f2d4f84 --- /dev/null +++ b/ANNOUNCE-3.0 @@ -0,0 +1,98 @@ +Subject: ANNOUNCE: mdadm 3.0 - A tool for managing Soft RAID under Linux + +I am pleased to (finally) announce the availability of + mdadm version 3.0 + +It is available at the usual places: + countrycode=xx. + http://www.${countrycode}kernel.org/pub/linux/utils/raid/mdadm/ +and via git at + git://neil.brown.name/mdadm + http://neil.brown.name/git?p=mdadm + + +This is a major new version and as such should be treated with some +caution. However it has seen substantial testing and is considerred +to be ready for wide use. + + +The significant change which justifies the new major version number is +that mdadm can now handle metadata updates entirely in userspace. +This allows mdadm to support metadata formats that the kernel knows +nothing about. + +Currently two such metadata formats are supported: + - DDF - The SNIA standard format + - Intel Matrix - The metadata used by recent Intel ICH controlers. + +Also the approach to device names has changed significantly. + +If udev is installed on the system, mdadm will not create any devices +in /dev. Rather it allows udev to manage those devices. For this to work +as expected, the included udev rules file should be installed. + +If udev is not installed, mdadm will still create devices and symlinks +as required, and will also remove them when the array is stopped. + +mdadm now requires all devices which do not have a standard name (mdX +or md_dX) to live in the directory /dev/md/. Names in this directory +will always be created as symlinks back to the standard name in /dev. + +The man pages contain some information about the new externally managed +metadata. However see below for a more condensed overview. + +Externally managed metadata introduces the concept of a 'container'. +A container is a collection of (normally) physical devices which have +a common set of metadata. A container is assembled as an md array, but +is left 'inactive'. + +A container can contain one or more data arrays. These are composed from +slices (partitions?) of various devices in the container. + +For example, a 5 devices DDF set can container a RAID1 using the first +half of two devices, a RAID0 using the first half of the remain 3 devices, +and a RAID5 over thte second half of all 5 devices. + +A container can be created with + + mdadm --create /dev/md0 -e ddf -n5 /dev/sd[abcde] + +or "-e imsm" to use the Intel Matrix Storage Manager. + +An array can be created within a container either by giving the +container name and the only member: + + mdadm -C /dev/md1 --level raid1 -n 2 /dev/md0 + +or by listing the component devices + + mdadm -C /dev/md2 --level raid0 -n 3 /dev/sd[cde] + +To assemble a container, it is easiest just to pass each device in turn to +mdadm -I + + for i in /dev/sd[abcde] + do mdadm -I $i + done + +This will assemble the container and the components. + +Alternately the container can be assembled explicitly + + mdadm -A /dev/md0 /dev/sd[abcde] + +Then the components can all be assembled with + + mdadm -I /dev/md0 + +For each container, mdadm will start a program called "mdmon" which will +monitor the array and effect any metadata updates needed. The array is +initially assembled readonly. It is up to "mdmon" to mark the metadata +as 'dirty' and which the array to 'read-write'. + +The version 0.90 and 1.x metadata formats supported by previous +versions for mdadm are still supported and the kernel still performs +the same updates it use to. The new 'mdmon' approach is only used for +newly introduced metadata types. + +NeilBrown 2nd June 2009 diff --git a/ANNOUNCE-3.0-devel1 b/ANNOUNCE-3.0-devel1 deleted file mode 100644 index 89ed2e3..0000000 --- a/ANNOUNCE-3.0-devel1 +++ /dev/null @@ -1,84 +0,0 @@ -Subject: ANNOUNCE: mdadm 3.0-devel1 - A tool for managing Soft RAID under Linux - -I am pleased to announce the availability of - mdadm version 3.0-devel1 - -It is available at the usual places: - countrycode=xx. - http://www.${countrycode}kernel.org/pub/linux/utils/raid/mdadm/ -and via git at - git://neil.brown.name/mdadm - http://neil.brown.name/git?p=mdadm - -Note that this is a "devel" release. It is not intended for -production use yet, but rather for testing and ongoing development. - -The significant change which justifies the new major version number is -that mdadm can now handle metadata updates entirely in userspace. -This allows mdadm to support metadata formats that the kernel knows -nothing about. - -Currently two such metadata formats are supported: - - DDF - The SNIA standard format - - Intel Matrix - The metadata used by recent Intel ICH controlers. - -The manual pages have not yet been updated, but here is a brief outline. - -Externally managed metadata introduces the concept of a 'container'. -A container is a collection of (normally) physical devices which have -a common set of metadata. A container is assembled as an md array, but -is left 'inactive'. - -A container can contain one or more data arrays. These are composed from -slices (partitions?) of various devices in the container. - -For example, a 5 devices DDF set can container a RAID1 using the first -half of two devices, a RAID0 using the first half of the remain 3 devices, -and a RAID5 over thte second half of all 5 devices. - -A container can be created with - - mdadm --create /dev/md0 -e ddf -n5 /dev/sd[abcde] - -or "-e imsm" to use the Intel Matrix Storage Manager. - -An array can be created within a container either by giving the -container name and the only member: - - mdadm -C /dev/md1 --level raid1 -n 2 /dev/md0 - -or by listing the component devices - - mdadm -C /dev/md2 --level raid0 -n 3 /dev/sd[cde] - -The assemble a container, it is easiest just to pass each device in turn to -mdadm -I - - for i in /dev/sd[abcde] - do mdadm -I $i - done - -This will assemble the container and the components. - -Alternately the container can be assembled explicitly - - mdadm -A /dev/md0 /dev/sd[abcde] - -Then the components can all be assembled with - - mdadm -I /dev/md0 - -For each container, mdadm will start a program called "mdmon" which will -monitor the array and effect any metadata updates needed. The array is -initially assembled readonly. It is up to "mdmon" to mark the metadata -as 'dirty' and which the array to 'read-write'. - -The version 0.90 and 1.x metadata formats supported by previous -versions for mdadm are still supported and the kernel still performs -the same updates it use to. The new 'mdmon' approach is only used for -newly introduced metadata types. - -Any testing and feedback will be greatly appreciated. - -NeilBrown 18th September 2008 - diff --git a/ANNOUNCE-3.0-devel2 b/ANNOUNCE-3.0-devel2 deleted file mode 100644 index 0f2924c..0000000 --- a/ANNOUNCE-3.0-devel2 +++ /dev/null @@ -1,98 +0,0 @@ -Subject: ANNOUNCE: mdadm 3.0-devel2 - A tool for managing Soft RAID under Linux - -I am pleased to announce the availability of - mdadm version 3.0-devel2 - -It is available at the usual places: - countrycode=xx. - http://www.${countrycode}kernel.org/pub/linux/utils/raid/mdadm/ -and via git at - git://neil.brown.name/mdadm - http://neil.brown.name/git?p=mdadm - -Note that this is a "devel" release. It should be used with -caution, though it is believed to be close to release-candidate stage. - -The significant change which justifies the new major version number is -that mdadm can now handle metadata updates entirely in userspace. -This allows mdadm to support metadata formats that the kernel knows -nothing about. - -Currently two such metadata formats are supported: - - DDF - The SNIA standard format - - Intel Matrix - The metadata used by recent Intel ICH controlers. - -Also the approach to device names has changed significantly. - -If udev is installed on the system, mdadm will not create any devices -in /dev. Rather it allows udev to manage those devices. For this to work -as expected, the included udev rules file should be installed. - -If udev is not install, mdadm will still create devices and symlinks -as required, and will also remove them when the array is stopped. - -mdadm now requires all devices which do not have a standard name (mdX -or md_dX) to live in the directory /dev/md/. Names in this directory -will always be created as symlinks back to the standard name in /dev. - -The man pages contain some information about the new externally managed -metadata. However see below for a more condensed overview. - -Externally managed metadata introduces the concept of a 'container'. -A container is a collection of (normally) physical devices which have -a common set of metadata. A container is assembled as an md array, but -is left 'inactive'. - -A container can contain one or more data arrays. These are composed from -slices (partitions?) of various devices in the container. - -For example, a 5 devices DDF set can container a RAID1 using the first -half of two devices, a RAID0 using the first half of the remain 3 devices, -and a RAID5 over thte second half of all 5 devices. - -A container can be created with - - mdadm --create /dev/md0 -e ddf -n5 /dev/sd[abcde] - -or "-e imsm" to use the Intel Matrix Storage Manager. - -An array can be created within a container either by giving the -container name and the only member: - - mdadm -C /dev/md1 --level raid1 -n 2 /dev/md0 - -or by listing the component devices - - mdadm -C /dev/md2 --level raid0 -n 3 /dev/sd[cde] - -To assemble a container, it is easiest just to pass each device in turn to -mdadm -I - - for i in /dev/sd[abcde] - do mdadm -I $i - done - -This will assemble the container and the components. - -Alternately the container can be assembled explicitly - - mdadm -A /dev/md0 /dev/sd[abcde] - -Then the components can all be assembled with - - mdadm -I /dev/md0 - -For each container, mdadm will start a program called "mdmon" which will -monitor the array and effect any metadata updates needed. The array is -initially assembled readonly. It is up to "mdmon" to mark the metadata -as 'dirty' and which the array to 'read-write'. - -The version 0.90 and 1.x metadata formats supported by previous -versions for mdadm are still supported and the kernel still performs -the same updates it use to. The new 'mdmon' approach is only used for -newly introduced metadata types. - -Any testing and feedback will be greatly appreciated. - -NeilBrown 5th November 2008 - diff --git a/ANNOUNCE-3.0-devel3 b/ANNOUNCE-3.0-devel3 deleted file mode 100644 index 078be07..0000000 --- a/ANNOUNCE-3.0-devel3 +++ /dev/null @@ -1,113 +0,0 @@ -Subject: ANNOUNCE: mdadm 3.0-devel3 - A tool for managing Soft RAID under Linux - -I am pleased to announce the availability of - mdadm version 3.0-devel3 - -It is available at the usual places: - countrycode=xx. - http://www.${countrycode}kernel.org/pub/linux/utils/raid/mdadm/ -and via git at - git://neil.brown.name/mdadm - http://neil.brown.name/git?p=mdadm - -Note that this is a "devel" release. It should be used with -caution, though it is believed to be close to release-candidate stage. - -There have been numerous improvements and additions since -devel2. -I think we are close to a release of 3.0. - -I need to add lots of tests to the test suite to test the new -functionality. And I need to review the man pages. - -After that I will release -rc1 followed by -final. - - -The following is the same introduction to 3.x as appeared in -previous announcements. - - -Any testing and feedback will be greatly appreciated. - -NeilBrown 10th March 2009 - - -===================================================== - -The significant change which justifies the new major version number is -that mdadm can now handle metadata updates entirely in userspace. -This allows mdadm to support metadata formats that the kernel knows -nothing about. - -Currently two such metadata formats are supported: - - DDF - The SNIA standard format - - Intel Matrix - The metadata used by recent Intel ICH controlers. - -Also the approach to device names has changed significantly. - -If udev is installed on the system, mdadm will not create any devices -in /dev. Rather it allows udev to manage those devices. For this to work -as expected, the included udev rules file should be installed. - -If udev is not install, mdadm will still create devices and symlinks -as required, and will also remove them when the array is stopped. - -mdadm now requires all devices which do not have a standard name (mdX -or md_dX) to live in the directory /dev/md/. Names in this directory -will always be created as symlinks back to the standard name in /dev. - -The man pages contain some information about the new externally managed -metadata. However see below for a more condensed overview. - -Externally managed metadata introduces the concept of a 'container'. -A container is a collection of (normally) physical devices which have -a common set of metadata. A container is assembled as an md array, but -is left 'inactive'. - -A container can contain one or more data arrays. These are composed from -slices (partitions?) of various devices in the container. - -For example, a 5 devices DDF set can container a RAID1 using the first -half of two devices, a RAID0 using the first half of the remain 3 devices, -and a RAID5 over thte second half of all 5 devices. - -A container can be created with - - mdadm --create /dev/md0 -e ddf -n5 /dev/sd[abcde] - -or "-e imsm" to use the Intel Matrix Storage Manager. - -An array can be created within a container either by giving the -container name and the only member: - - mdadm -C /dev/md1 --level raid1 -n 2 /dev/md0 - -or by listing the component devices - - mdadm -C /dev/md2 --level raid0 -n 3 /dev/sd[cde] - -To assemble a container, it is easiest just to pass each device in turn to -mdadm -I - - for i in /dev/sd[abcde] - do mdadm -I $i - done - -This will assemble the container and the components. - -Alternately the container can be assembled explicitly - - mdadm -A /dev/md0 /dev/sd[abcde] - -Then the components can all be assembled with - - mdadm -I /dev/md0 - -For each container, mdadm will start a program called "mdmon" which will -monitor the array and effect any metadata updates needed. The array is -initially assembled readonly. It is up to "mdmon" to mark the metadata -as 'dirty' and which the array to 'read-write'. - -The version 0.90 and 1.x metadata formats supported by previous -versions for mdadm are still supported and the kernel still performs -the same updates it use to. The new 'mdmon' approach is only used for -newly introduced metadata types. diff --git a/ANNOUNCE-3.0-rc1 b/ANNOUNCE-3.0-rc1 deleted file mode 100644 index c6269d4..0000000 --- a/ANNOUNCE-3.0-rc1 +++ /dev/null @@ -1,139 +0,0 @@ -Subject: ANNOUNCE: mdadm 3.0-rc1 - A tool for managing Soft RAID under Linux - -I am pleased to announce the availability of - mdadm version 3.0-rc1 - -It is available at the usual places: - countrycode=xx. - http://www.${countrycode}kernel.org/pub/linux/utils/raid/mdadm/ -and via git at - git://neil.brown.name/mdadm - http://neil.brown.name/git?p=mdadm - -This is a "release candidate" which means that I think it is safe -to use and that there will be no significant change in functionality -before release. - -The man pages aren't really "release candidate" yet but I will be -working on them before the final release. - -The most significant changes since -devel3 relate to the names of md -devices as they appear in /dev and /dev/md/, and in particular the names -that are used when an array is assembled with "--incremental" or with -"mdadm --assemble --scan" when there are no ARRAY lines in mdadm.conf. -In these cases mdadm needs to deduce a name to use, and to try to -avoid using a name that a different array might have a stronger claim to. -The rules are: - - if the array is mentioned in mdadm.conf, use the name given there. - - if the array appear to have been created for "this host" using the - "homehost" concept, trust the name given in the metadata - - if the new setting "HOMEHOST " is given (can be in mdadm.conf - or on command line) the the name given in the metadata is not - associated with some other array by mdadm.conf, then trust the - name given in the metadata - - otherwise use the name in the metadata, but in an untrusted manner. - -If a name is untrusted, or if the name is already in use by another -array, then a numeric suffix like "_0", "_1" is appended to create -a unique name for the array. - -That name is then used to create a device file in /dev/md/. - -So if all arrays needed for boot will always be listed in -/etc/mdadm.conf, then it is appropriate to add "HOMEHOST " to -mdadm.conf and there is no risk of conflicting names. However if you -want auto-assemble to assemble all arrays at boot time and you don't -want to list them in mdadm.conf, then don't give "HOMEHOST " -either else there could be a risk of the wrong array being assembled -for a given name. - - - -The following is the same introduction to 3.x as appeared in -previous announcements. - -Any testing and feedback will be greatly appreciated. - -NeilBrown 11th May 2009 - - -===================================================== - -The significant change which justifies the new major version number is -that mdadm can now handle metadata updates entirely in userspace. -This allows mdadm to support metadata formats that the kernel knows -nothing about. - -Currently two such metadata formats are supported: - - DDF - The SNIA standard format - - Intel Matrix - The metadata used by recent Intel ICH controlers. - -Also the approach to device names has changed significantly. - -If udev is installed on the system, mdadm will not create any devices -in /dev. Rather it allows udev to manage those devices. For this to work -as expected, the included udev rules file should be installed. - -If udev is not install, mdadm will still create devices and symlinks -as required, and will also remove them when the array is stopped. - -mdadm now requires all devices which do not have a standard name (mdX -or md_dX) to live in the directory /dev/md/. Names in this directory -will always be created as symlinks back to the standard name in /dev. - -The man pages contain some information about the new externally managed -metadata. However see below for a more condensed overview. - -Externally managed metadata introduces the concept of a 'container'. -A container is a collection of (normally) physical devices which have -a common set of metadata. A container is assembled as an md array, but -is left 'inactive'. - -A container can contain one or more data arrays. These are composed from -slices (partitions?) of various devices in the container. - -For example, a 5 devices DDF set can container a RAID1 using the first -half of two devices, a RAID0 using the first half of the remain 3 devices, -and a RAID5 over thte second half of all 5 devices. - -A container can be created with - - mdadm --create /dev/md0 -e ddf -n5 /dev/sd[abcde] - -or "-e imsm" to use the Intel Matrix Storage Manager. - -An array can be created within a container either by giving the -container name and the only member: - - mdadm -C /dev/md1 --level raid1 -n 2 /dev/md0 - -or by listing the component devices - - mdadm -C /dev/md2 --level raid0 -n 3 /dev/sd[cde] - -To assemble a container, it is easiest just to pass each device in turn to -mdadm -I - - for i in /dev/sd[abcde] - do mdadm -I $i - done - -This will assemble the container and the components. - -Alternately the container can be assembled explicitly - - mdadm -A /dev/md0 /dev/sd[abcde] - -Then the components can all be assembled with - - mdadm -I /dev/md0 - -For each container, mdadm will start a program called "mdmon" which will -monitor the array and effect any metadata updates needed. The array is -initially assembled readonly. It is up to "mdmon" to mark the metadata -as 'dirty' and which the array to 'read-write'. - -The version 0.90 and 1.x metadata formats supported by previous -versions for mdadm are still supported and the kernel still performs -the same updates it use to. The new 'mdmon' approach is only used for -newly introduced metadata types. diff --git a/ChangeLog b/ChangeLog index adf622c..c7e0f7a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,770 +1,11 @@ -Changed Prior to this release - - --readwrite can be used with --re-add to clear the writemostly - flag. - -Changes Prior to 2.6.7 release - - Avoid NULL reference calling free_super and elsewhere. - - Remove stray semicolon (Causes compile error with gcc-2.95) - - Fix autoassemble for stack arrays. - -Changes Prior to 2.6.6 release - - "make everything" now make mdassemble.auto - - fix compile problem with mdassemble.auto - - Update FAQ URLs in man page again. - -Changes Prior to 2.6.5 release - - Avoid segfault when parsing /proc/mdstat with auto-read-only - arrays. - - Fix problem with failing to add devices to v.large (>4TB) arrays, - cause by problems with device-size overflow. - - For v0.90 superblocks, print the 'Events' count as a real count, - not 2 numbers separated by a dot. - - Updates some URLs in the man page. - - Allow creation of a RAID6 with exactly one missing device. - - Use LOG_PID for syslog, so you get the pid of mdadm in the log - files. - - --export now works with --examine too (not just --detail) - - Improve auto-creation of device special file when using - --incremental - - Simple locking for --incremental so mdadm doesn't get confused - when run concurrently with itself. - - Make --incremental cope better with arrays that are being reshaped. - -Changes Prior to 2.6.4 release - - Make "--create --auto=mdp" work for non-standard device names. - - Fix restarting of a 'reshape' if it was stopped in the middle. - - Fix a segfault when using v1 superblock. - - Make --write-mostly effective when re-adding a device to an array. - - Various minor fixes - -Changes Prior to 2.6.3 release - - allow --write-behind to be set for --grow. - - When adding new disk to an array, don't reserve so much bitmap - space that the disk cannot store the required data. (Needed when - 1.x array was created with older mdadm). - - When adding a drive that was a little too small, we did not get - the correct error message. - - Make sure that if --assemble find an array in the critical region - of a reshape, and cannot find the critical data to restart the - reshape, it gives an error message. - - Fix segfault with '--detail --export' and non-persistent - superblocks. - - Various manpage updates. - - Improved 'raid4' support (--assemble, --monitor) - - Option parsing fixes w.r.t -a - - Interpret "--assemble --metadata=1" to allow any version 1.x - metadata, and be more specific in the "metadata=" message printed - with --examine --brief - - Fix spare migration in --monitor. - -Changes Prior to 2.6.2 release - - --fail detached and --remove faulty can be used to fail and - remove devices that are no longer physically present. - - --export option for --detail or present information in a format - that can be processed by udev. - - fix internal bitmap allocation problems with v1.1, v1.2 metadata. - - --help now goes to stdout so you can direct it to a pager. - - Various manpage updates. - - Make "--grow --add" for linear arrays really work. - - --auto-detect to trigger in-kernel autodetect. - - Make return code for "--detail --test" more reliable. Missing - devices as well as failed devices cause an error. - -Changes Prior to 2.6.1 release - - --monitor was producing some meaningless warnings due to a bug. - - Fix some compiler warnings. - - Fully support --grow for raid6. If a reshape crashed during the - critical period, mdadm wouldn't restore the Q information - properly. - - Update documentation for --grow. - -Changes Prior to 2.6 release - - Fixed UUID printing in "--detail --brief" for version1 metadata. - - --update=resync did exactly the wrong thing for version1 metadata. - It caused a resync to not happen, rather than to happen. - - Allow --assemble --force to mark a raid6 clean when it has two - missing devices (which is needed else if won't assemble. - Without this fix it would only assemble if one or zero - missing devices. - - Support --update=devicesize for cases where the underlying device - can change size. - - Default to --auto=yes so the array devices with 'standard' names - get created automatically, as this is almost always what is wanted. - - Give useful message if raid4/5/6 cannot be started because it is - not clean and is also degraded. - - Increase raid456 stripe cache size if needed to --grow the array. - The setting used unfortunately requires intimate knowledge of the - kernel, and it not reset when the reshape finishes. - - Change 'Device Size' to 'Used Dev Size' because it only shows how - much of each device is actually used, not how big they are. - - --wait or -W will wait for resync activity to finish on the given - devices. - - Fix some problems with --update=uuid and add a test. - - If two drives in a raid5 disappear at the same time, then "-Af" - will add them both in rather than just one and forcing the array - to 'clean'. This is slightly safer in some cases. - - Check device is large enough before hot-add: this improves quality - of error message. - - Don't hold md device open for so long in --monitor mode - map_dev - can be slow and interferes with trying to stop the array. - - Support --uuid= with --create to choose your own UUID. - - New major more "--incremental" for incremental assemble of arrays, - intended for use with udev. - -Changes Prior to 2.5.6 release - - Fix bug which meant "bitmap=xxx" in mdadm.conf was not handled - properly. - - Documentation updates. - - Fix bug that caused infinite loop when doing auto-assembly, - in certain cases where arrays couldn't be assembled. - -Changes Prior to 2.5.5 release - - Don't #include linux/blkpg.h as that isn't safe. Just - include the content literally. - - Reduce maximum bitmap usage when working with bitmap files, - so that a only single-page allocations are made, even on - 64bit hosts with 4K pages. - - Close stray fd in mdassemble so that it can assemble stacked - devices - - If mdassemble finds an array already assembled, it marks it - read-write. - - Remove error in md_open if array is already active. This isn't - needed and gets in the ways if an array was created e.g. in - initramfs, but device doesn't yet exist in /dev. - - When --assemble --scan is run, if all arrays that could be found - have already been started, don't report an error. - - Fix a couple of bugs related to raid10 and the new 'offset' layout. - - Improve error message when a wrong '--update' option is given. - -Changes Prior to 2.5.4 release - - When creating devices in /dev/md/ create matching symlinks - from /dev. e.g. /dev/md0 -> /dev/md/0. - Allow this to be disabled in mdadm.conf or on command line. - - Fix some endian-ness issues with version-1 superblocks (affects - bigendian only). - - Fix endian problem with 'bitmap' metadata - - Allow a number (of partitions) after the 'yes' option to --auto= - This is particularly useful in the 'create' line in mdadm.conf. - - Remove partitions from any whole device that is made part of - an md array. This is a work-around for annoying messages - when the first block on some drive accidentally looks like a - partition table. - -Changes Prior to 2.5.3 release - - Document v0.91 superblocks in md.4 - - Make GPL explicit in man pages. - - Fix recent breakage of starting degraded arrays. - - Tidyup automatic name choice for v-1 arrays: - /dev/md_d0 now becomes '0', not '_d0'. - -Changes Prior to 2.5.2 release - - Fix problem with compiling with gcc-2 compilers - - Fix compile problem of post-incrmenting a variable in a macro arg. - - Stop map_dev from returning [0:0], as that breaks things. - - Add 'Array Slot' line to --examine for version-1 superblocks - to make it a bit easier to see what is happening. - - Work around bug in --add handling for version-1 superblocks - in 2.6.17 (and prior). - - Make -assemble a bit more resilient to finding strange - information in superblocks. - - Don't claim newly added spares are InSync!! (don't know why that - code was ever in there) - - Work better when no 'ftw' is available, and check to see - if current uclibc provides ftw. - - Never use /etc/mdadm.conf if --config file is given (previously - some code used one, some used the other). - -Changes Prior to 2.5.1 release - - Various fixes for gcc warnings - - uclibc warnings - - Makefile improvements for static linking/intalling - - Makefile uninstall target - - Really fix return status of --examine - - Typos - - Byteorder stuff (again) - - Don't try to create devices with --manage or --grow - - allow default metadata (superblock) type to be specified - in mdadm.conf - - Get --stop to list devices stopped but honour --quiet - - remove libssl dependency - - Avoid some misdetection of overlapping partitions - - Fix memory leak in --monitor mode - -Changes Prior to 2.5 release - - Support 'mailfrom' line in mdadm.conf so the From: line in alert - emails can be explicitly set. - - Arrange that SparesMissing (which is similar in import to - DegradedArray) generates an Email. - - Assume "DEVICE partitions" if no DEVICE line is given. - - Support new 'offset' layout for raid10. - - When creating a bitmap file, choose a chunksize to limit number - of bitmap chunks to 2 million. More than this can cause kmalloc - failure. - - New 'CREATE' line in mdadm.conf for defaults such as owner, group, - mode and auto-flag - - --detail checks if array has been started or not and includes that - in report. - - When using --update=uuid on an array with a bitmap, update the - bitmap's uuid too. - - Add a copy of /proc/mdstat to the mail message sent by mdadm - --monitor. - - New flag --no-degraded to avoid starting arrays if there are - fewer devices available than last time the array was started. - This is only needed with --scan, as with --scan, that behaviour - is the default. - - Support for 'homehost' concept. This is a fairly major update. - It includes a configfile option and a command line option for - specifying a homehost, records that host in the superblock, - and reports the homehost where possible. - - Support for Auto Assembly. "mdadm -As" will, if provided with - the name of a homehost, try to assemble all arrays it can find - that were created for that homehost. See man pages for more details. - -Changes Prior to 2.4.1 release - - Honour --write-mostly when adding to an array without persistent - superblocks. - - Fix alignment problem in version-1 superblocks. - NOTE: This is an incompatable change affecting raid5 reshape. - If you want to reshape a raid5 using version-1 superblocks, - use 2.6.17-rc2 or later, and mdadm-2.4.1 or later. - -Changes Prior to 2.4 release - - Rewrite 'reshape' support including performing a backup - of the critical region for a raid5 growth, and restoring that - backup after a crash. - - Put a 'canary' at each end of the backup so a corruption - can be more easily detected. - - Remove useless 'ident' arguement from ->getinfo_super method. - - Support --backup-file for backing-up critical section during - growth. - - Erase old superblocks (of different versions) when creating new - array. - - Allow --monitor to work with arrays with >28 devices - - Report reshape information in --detail - - Handle symlinks in /dev better - - Fix mess in --detail output which a device is missing. - - Manpage tidyup - - Support 'bitmap=' in mdadm.conf for auto-assembling arrays with - write-intent bitmaps in separate files. - - Updates to md.4 man page including section on RESTRIPING and SYSFS - -Changes Prior to 2.3.1 release - - Fixed -O2 compile so I could make and RPM. - - Type cast number to be printed %llu so it compiles on 64bit - machines. (Thanks Luca). - - Stop using asm/byteorder.h - to make Redhat happy :-( - - Require bitmap files to have a '/' in their name. - - Error-check a few syscalls - code from SuSE package. - -Changes Prior to 2.3 release - - Try /etc/mdadm/mdadm.conf if /etc/mdadm.conf doesn't exist. - This provided compatability for Debian. - - Fixed for version-1 superblock: - report chunksize for raid6 and raid10 - make sure device size used is a multiple of chunksize - - Fix "--assemble --scan" crash. - - Fix completely failure to create array on ppc64 - - Fix memcmp in place of memcpy - - A few minor improvements to online help - - Clean up usage of 'long long' for used-size of devices, so - that it is possible to create a raid1 of 7TB devices! - - Make internal bitmaps work on 7TB raid1 arrays. - - Provide error message if --examine doesn't find any superblock. - - Report 'reshape' status in --examine - this depends on kernel - patches that are not yet finalised. - - Report bitmap status in --detail and --examine - - Default to v1 superblocks instead of v0.90 if the array - is too big for 0.90 to handle. - - Sort the output of "mdadm --detail --scan" so that it is - in a suitable order for assembling arrays. i.e. components come - before an array that they are part of. - - Print size of large reiserfs array properly went warning of - possible confilcts. - -Changes Prior to 2.2 release - - Assorted bug fixes - - Support write-intent-bitmaps on raid10 - - Support little-endian (Rather than hostendian) bitmaps. - - Return correct error code from 'mdadm -S' - - Remove extra blank line from 'mdadm -Eb' output. - - Improve option parsing so that -a and -b do not have - optional arguements: the arg is either required or not - depending on context. - - Allow scanning of devices listed in /proc/partitions even - if they don't appear in /dev. - - Support --assume-clean in --create mode as well as --build - - Add support for --monitor to report to syslog: -y or --syslog. - Thanks to Ross Vandegrift - - --monitor now reports which device failed in a 'Fail' message - This broke with 2.6 - - Improve chance of array starting properly after a crash. - mdadm was insisting the event numbers were identical, but this - isn't needed, and is a problem if the crash was while the metadata - was being updated. - - Support --update==uuid - - Added README.initramfs and mkinitramfs to help people use an - initram for starting md arrays at boot. - -Changes Prior to 2.1 release - - Fix assembling of raid10 array when devices are missing. - mdadm now correctly detects if a array is workable or not - depending on which devices are present, and so will correctly - handle "--assemble --force" if multiple devices have failed. - - Report raid10 layout in --examine output. - - Fix assembling of arrays that use the version-1 superblock and - have spares. Previously the spares would be ignored. - - Fix bug so that multiple drives can be re-added at once. - - Fix problem with hot-adding a bitmap to version-1-superblock - arrays. - -Changes Prior to 2.0 - - Support assembling from byte-swapped superblocks - metadata type "0.swap" and --update=byteorder - - write-mostly and write-behind support for raid1. - - Support --name= and 'name=' config entry for identifying - arrays be name. - - RAID10 in man pages. - - Lot of minor manpage updates - -Changes Prior to 2.0-devel-3 release - - Assorted fixes for multiple bugs... - - Add test suite - -Changes Prior to 1.12.0 release - Several of these are backported from the Debian package - - Don't use 'lstat' to check for blockdevices, use stat. - - Document --size=max option for --grow - - Document SparesMissing event and DeviceDisappeared/WrongLevel - - --stop --scan repeatly cycles until no more progress can be made - so that stack devices are stopped properly - - Minor type rationalisation for ident->uuid - now always 'int[]' - - Fix type in online help for --grow (was -F, now -G) - - Allow --auto command line option to set default auto= - value when running "--assemble --scan". Previously - --auto was ignored if --scan was given - - Fix a few type casts - - Fix parsing of /dev/md/N in is_standard - - Fix rounding errors in human_size() - - Fix silly example in mdadm.conf-examples - - When finding a /dev name for a device, prefer shorter names - - Suppress listing of devices= in --brief output of -D or -E, - unless -v is given (-vv gives the old behaviour with -Dsv). - This is because the device list can change and so is not a - stable aspect of the array - - Allow --force with --grow so '-Gfn1' works (on raid1) - - Replace sprintf calls with snprintf (to quiet diet-libc) - - Add man page for mdassemble - - Fix compilation with tinyc - -Changes Prior to 1.11.0 release - - Fix embarassing bug which causes --add to always fail. - -Changes Prior to 1.10.0 release - - Fix bug with --config=partitions - - Open sub-devices with O_EXCL to detect if already in use - - Make sure superblock updates are flushed directly to disk. - -Changes Prior to 2.0-devel-1 release - - Support for version-1 superblock. See --metadata option. - - Support for bitmap based intent logging. - - Minor fixes. - -Changes Prior to 1.9.0 release - - Fix rpm build problem (stray %) - - Minor manpage updates - - Change "dirty" status to "active" as it was confusing people. - - --assemble --auto recognises 'standard' name and insists on using - the appropriate major/minor number for them. - - Remove underscore from partition names, so partitions of - "foo" are "foo1", "foo2" etc (unchanged) and partitions of - "f00" are "f00p1", "f00p2" etc rather than "f00_p1"... - - Use "major", "minor", "makedev" macros instead of - "MAJOR", "MINOR", "MKDEV" so that large device numbers work - on 2.6 (providing you have glibc 2.3.3 or later). - - Add some missing closes of open file descriptors. - - Reread /proc/partition for every array assembled when using - it to find devices, rather than only once. - - Make "mdadm -Ss" stop stacked devices properly, by reversing the - order in which arrays are stopped. - - Improve some error messages. - - Allow device name to appear before first option, so e.g. - mdadm /dev/md0 -A /dev/sd[ab] - works. - - Assume '-Q' if just a device is given, rather than being silent. - - Change "dirty" status to "active" as it was confusing people. - -Changes Prior to 1.8.0 release - - Makefile cleanup from Luca Berra - - --pid-file (-i) to set a pid file to use with --monitor --daemonise - - Fix typo in mdadm man page - - Fix coredump when "-s" used with no config file present. - - Support new "faulty" personality which can inject synthetic - faults. (Not in kernel.org yet at 1Nov2004) - - Support raid0/linear on devices > 2 Terabytes - - Make sure raid6 resyncs when created with one missing device - -Changes Prior to 1.7.0 release - - Support "--grow --add" to add a device to a linear array, if the - kernel supports it. Not documented yet. - - Restore support for uclibc which was broken recently. - - Several improvements to the output of --detail, including - reporting "resyncing" or "recovering" in the state. - - Close filedescriptor at end of --detail (exit would have closed it - anyway, so this isn't abig deal). - - Report "Sync checkpoint" in --examine output if appropriate. - - Add --update=resync for --assemble mode to for a resync when the - array is assembled. - - Add support for "raid10", which is under development in 2.6. - Not documented yet. - - --monitor now reads spare-group and spares info from config file - even when names of arrays to scan are given on the command line - -Changes Prior to 1.6.0 release - - Device name given in -Eb is determined by examining /dev rather - than assuming /dev/md%d - - Fix bug in --monitor where an array could be held open an so - could not be stopped without killing mdadm. - - Add --grow mode. Currently only --size and --raid-disks can be - changed. Both require kernel support which, at the time of - writing, is not in a release kernel yet. - - Don't print out "errors" or "no-errors" in -D and -E, as the bit - is never set or used. - - Use md event notification in 2.6.??? to make --monitor mode - respond instantly to events. - - Add --auto= option and auto= configfile entry to tell mdadm to - create device files as needed. This is particularly useful - with partitioned arrays where the major device number can change. - - When generating --brief listing, if the standard name doesn't - exist, search /dev for one rather than using a temp name. - - Allow --build to build raid1 and multipath arrays. - - Add "--assume-clean" for Create and Build, particularly for raid1 - Note: this is dangerous. Only use it if you are certain. - - Fix bug so that Rebuild status monitoring works again. - - Add "degraded" and "recovering" options to the "Status:" - entry for --detail - -Changes Prior to 1.5.0 release - - new commands "mdassemble" which is a stripped-down equivalent of - "mdadm -As", that can be compiled with dietlibc. - Thanks to Luca Berra . - It can be using in an initramfs or initrd. - - Fix compiling error with BLKGETSIZE64 and some signed/unsigned - comparison warnings. - - Add Rebuild Status (% complete) to --detail output. - - Support "--monitor --test" which will generate a test alert - for each array once, to test notification paths. - - Generate RebuildFinished event when rebuild finishes. - - Support for raid6 as found in 2.6.2 - thanks to - H. Peter Anvin - - Support partitioned md arrays with a different major number and - naming scheme (md_dX in /proc/mdstat, /dev/md/dXpY in /dev). - -Changes Prior to 1.4.0 release - - Document fact that creating a raid5 array really creates a - degraded array with a spare. - - Add "spares=" tag to config file and generate it wit --detail and - --examine - - Add "SparesMissing" event when --monitor first sees an array and - it doesn't have the enough spare devices. - - Add --update=summaries for --assemble to update summary - information in superblock, and correct other inconsistancies in - the superblock. - - Add --test option to --detail to set a meaningful exit status. - -Changes Prior to 1.3.0 release - - Make 'size' and unsigned long in Create to allow creation of - larger arrays. - - Explicitly flag spare devices as 'spare' in --detail and --examine - output. Previously they simply had no flags lists. - - Make MailCmd (for monitor) configurable in Makefile, and default - to "/usr/sbin/sendmail -t". Also split out the warning related - flags into CWFLAGS for easier build configurability. - - Minor bugfix in Manage code. - - --monitor now notices and reports degraded arrays at startup using - "DegradedArray" event, and also has a --oneshot option to only - report DegradedArrays, and then exit. - - Small man-page clarification w.r.t. raid levels and raid4 in - particular. - - Disallow creation of arrays with only one device as this is - probably a mistake. --force will override this check. - - Correct some misleading documentation in the "mdadm --create --help" - message. - - Ignore chunksize if raid1 or multipath. - - Explicit statement in man page that raid-disks cannot be changed - after array is created. - - Improve message when attempting to start an array with - insufficient devices. Instead of required the array to be full, - we only require it has as many active devices as last time. - -Changes Prior to 1.2.0 release - - Fix bug where --daemonise required an argument. - - In --assemble --verbose, print appropriate message if device is - not in devices= list - - Updated mdadm.conf.5 to reflect fact that device= takes wildcards - - Typos: componenet -> component - - Reduce size of "--help" message put excess into "--help-options" - - Fix bug introduced when MD_SB_DISKS dependancy removed, and which - caused spares not be assembled properly. - - Print appropriate message if --monitor --scan decides not to - monitor anything. -Changes Prior to 1.1.0 release - - add --deamonise flag for --monitor - forks and prints pid to stdout - - Fix bug so we REALLY clear dirty flag with -Af - - -Db now prints a 'devices=' word for each array. - - "mdadm -A /dev/md0" will get info from configfile, even without scan - - When assembling multipath arrays, ignore devices which are flagged - as having errors. - - take --super-minor=dev to mean "use the minor number of the mddev - being assembled. - - take --config=none to mean "completely ignore config file" - - Make --monitor require --scan or a device list. -Changes Prior to 1.0.9 release - - Documentation updates including kernel parameters documented - in md.4 - - --assemble --force for raid4/5 will mark clean, needed for 2.5 - - --detail prints out the events counter as well - - flush device before reading superblock to be sure to get - current data - - added mdadm.static target to makefile for static linking - - --monitor was ignoring /dev/md0 due to off-by-one error - - Fix assorted typos - - Fix printing of Gibibytes - calc was wrong. - - Fix printing of Array Size in --detail when very big. - - --monitor no longer tries to work for raid0 or linear as these - have nothing to be monitored. - - The word 'partitions' on a DEVICE line will cause all partitions - listed in /proc/partitions to be considered - - If the config file is called 'partitions' then it will be treated - as though it contained exactly 'device partitions' so e.g. - mdadm -Ebsc partitions - will find all raid partitions easily. - - successfully assemble multipath devices by ignoring raid_disk - value from superblock (it is always the same). - - --assemble not tied to MD_SB_DISKS limit quite so much - - Support compiling with tcc - - Support compiling with uclibc - just skip scan of /dev - - Add --update= option for Assemble mode. Either sparc2.2 - or super-minor updates are possible. See mdadm.8 - -Changes Prior to 1.0.1 release - - Round off MB/GiB etc values instead of round down. - - Add --sparc2.2 option to examine to shift superblock around - and --sparc2.2update to rewrite the superblock - - Fix assorted typos in online help - -Changes Prior to 1.0.0 release - - Allow --config with Misc mode (for --examine --scan) - - Add $(CXFLAGS) to end of CFLAGS in makefile - - When making an N disk raid5 array, the Nth drive - is moved to the end of the array as a spare rather than - being shifted up one place. This means that when the - kernel builds onto the last spare and inserts it, - the devices will be in the expected order. - - Man page improvements -Changes Prior to 0.8.2 release - - Correct spelling of persist[ae]nce/persist[ae]nt. - - Change "disk" to "device" in options and config file - - convert array size to "long long" *before* shift-left in -D and -Q - -Changes Prior to 0.8.1 release - - Add "INSTALL" file. - - Fix some "i" variables that were not being set properly - - Initialise minsize and maxsize so that compilers don't complain. - - Tidy up Makefile and mdadm.spec installations - - Add "multipath" to documentation of valid levels - -Changes Prior to 0.8 release - - Fix another bug in Assemble.c due to confusing 'i' with 'j' - - Minimal, untested, support for multipath - - re-write of argument parsing to have more coherent modes, - - add --query,-Q option - - Update mdadm.8 to reflect arg processing change and --query - - Change "long" to "unsigned long" for device sizes - - Handle "mailaddr" and "program" lines in config file for follow/scan mode. - - --follow --scan will exit if no program or mail found - - Add MAILADDR and PROGRAM to mdadm.conf-example - - Spell check man pages - - consistently use "component devices" instead of "subdevices" - - Make -Wall -Werror really work and fix lots of errors. - - --detail and --stop can have --scan which chooses devices from /proc/mdstat - - --monitor detects 20% changes in resync, failed spares, - disappearing arrays, - - --monitor --scan will automatically add any devices found in /proc/mdstat - - --monitor will move spares between arrays with same spare-group if necessary - - Documentation for Monitor Mode - - --query notes if the array containing the given device is active or not - - Finished md.4 man page. - -Changes Prior to 0.7.2 release - - mdadm.spec updates and ifdef BLKGETSIZE64 from Luca Berra -- bluca@comedia.it - - more mdadm.spec updates from Gregory Leblanc - - make directory for mdadm.conf configurable in Makefile - - Finished mdadm.conf.5. Removed details of conf file from - mdadm.8 leaving a reference to mdadm.conf.5. - - Fix bug in Assemble.c, thanks to Junaid Rizvi - - Get --assemble --force to make sure old major/minor numbers are - consistant, as md.c worries about this :-( - - -Changes Prior to 0.7.1 release - - update mdadm.spec - - use BLKGETSIZE64 if available for array size - - give human readable as GiB/MiB and GB and MB, with 2 decimal point precision - - Only warn about size variation for raid1/4/5. - - Started md.4 man page - - Started mdadm.conf.5 man page - -Changes Prior to 0.7 release - - - Fix makefile to install binary at /sbin and not /sbin/sbin - Also install man page. - - Add --zero-superblock based on --destroywithextremeprejudice - from Dale Stephenson - - change name to mdadm. It is palandromic, and much nicer to pronouce. - -Changes Prior to 0.6 release - - - Remove the limit on the number of device names that can be - given on the command line. - - Fix bug in --assemble --force where it would only update a - single superblock. - - Fix bogus printing of big numbers not being block devices - when given names of devices that don't exist. - - When --assemble --force, consider superblocks with an event - count that is 1 behind as out-of-date. Normally they are - considered up-to-date (as the kernel assumes this too). - - When marking drives as not-failed in the superblock, - we also mark them as ACTIVE and SYNC. - - Don't start arrays for which not all drives are available unless: - --scan which implies that all drives were found automatically - --run which means the user knows what they want - --force which means that we are fixing something broken - - Make sure all device numbers passed as 3rd arg of ioctl - are passed as unsigned lock, so that it works on SPARC - - If HOT_ADD_DISK failes for -a, then only try ADD_NEW_DISK - if we cannot read from the array, i.e. if the array is - not started yet. - - man page update - - Taught Examine to handle --scan. It examines all devices listed - on DEVICE lines in the config file. - - Added --brief (-b) flag for Examine and Detail to print out - and mdctl.conf compatible description with uuid=, level=, - disks= and - for Examine - devices= - --examine --brief collects all devices the make the one array and - list them as one entry. - - Added level= and disks= options to ARRAY lines in config files - so --brief output could be used as-is. - - Make parity style ({left,right}-{,a}symmetric) consistantly use -, - never _. - - Add "Array Size" to --detail output - - Change "Size" to "Device Size" and exclude from Detail of arrays - that do not have a consistent device size. - - Add Human readable MiB or GiB value on size lines of Detail and Examine - - --assemble --scan doesn't complain about active drives - - require number of spares given in -x to be listed. - - Made --build actually work. -Changes Prior to 0.5 release - - --assemble: - spare drives are handled properly. - - --force can be used to recover from 2-drive failures on RAID5 - If you belive that /dev/hda1 /dev/hdb1 /dev/hdc1 /dev/hdd1 should - make a raid5 array, but it has experienced multiple failures and - wont start, then - - mdctl --assemble --force /dev/md0 /dev/hd[abcd]1 - - Should update the superblock on the newest failed drive and - restart the array in degraded mode. You should then remove the - remaining failed drive and re-add it (if you are happy that it - might work). - - Ofcourse whenever you have a 2-drive failure, you have a risk - of corruption in data that hasn't be changed for a long time. So - this doesn't give you your array back all nice and happy, but it - does allow you to recover data that might not be corrupt. - - More flexibility in identifying a RAID array in the mdctl.conf - e.g. - array /dev/md4 super-minor=4 - - assembles /dev/md4 from all devices found that have a raid - superblock that says the minor number of the array is 4. - If the blocks with the right minor number do not all have the - same UUID, an error is flags and no assembly happens. - - array /dev/md3 devices=/dev/hd[abc]2 - - Assembles /dev/md3 drom /dev/hda2 /dev/hdb2 and/dev/hdc2. All - devices must exist and have raid superblock with the same uuid. - - If two identity specifiers are used, only devices that match all - of them are considered, so - - array /dev/md2 devices=/dev/hd?2 super-minor=2 - - will assemble /dev/md2 using all /dev/hd?2 devices which have a - raid superblock with minor number 2. - - --create: - When listing devices for --create, the word "missing" can be - used to indicate that the respective slot does not have a - working drive currently. This is similar to the "failed-disk" - directive in mkraid/raidtab. - e.g. - mdctl --create --level=5 -raid-disks=4 --spare-disks=2 - /dev/md0 /dev/sda /dev/sdb missing /dev/sdc /dev/sdd /dev/sde - - will create a raid5 array with the third slot empty, and two - spares. - - By default, raid5 arrays are created with the last slot empty - and drive listed for the last slot added as a spare. If a - "missing" slot is given, or if --force is given, then --create - does exactly what you ask and doesn't try to be clever. - - - --follow / --monitor: - - This is a new mode. I couldn't stop my self from picking a name - starting with F (as current modes start A,B,C,D,E) but I - relented and provided an alternate name that is somewhat more - meaningful. - - In this mode, mdctl does not exit, but runs continuously and - periodically polls all the md devices to see if they have had - any interested state change. - The changes that it currently notices are: - Fail - an active disc fails - FailSpare - a spare, that was presumably being build, fails - ActiveSpare - a spare becomes active, presumably after a rebuild. - - Options: - --mail mailaddress - send Email on any Fail* event - --program program - run the program on any event. - Args are: eventname mddevice subdevice(if-known) - --delay seconds - change from the default 60second pause - between polls. - - I plan to add functionality to this mode to allow sharing of - spare drives. If an array is marks "spare-group=fred", and it - has a failed drive and no spares, and if some other array is - also "spare-group=fred" and it has no failed drives, but does - have a spare drive that is big enough, the spare will be moved - to the first array. - - I also have the idea of adding a --grow mode which will re-organise - the data on an N disk raid0/4/5 array to be on an N+M disk array. - I have no concrete plans for this though. - - I got rid of the "v" in the archive file name, and include the - version number in the directory created by the archive. - - There is now a man page and mdctl.spec (for rpm) thanks to - Danilo Godec . - - Ofcourse, the man page is now out of date and despite being based on - the --help output, is not wholy correct. After I get --follow - working properly, I plan to revise the various documentation and/or - the code to make sure the two match. +Please see git logs for detailed change log. +This file just contains highlight. + +Changed Prior to release 3.0 + - Support for externally managed metadata, specifically DDF and IMSM. + - Depend on udev to create entries in /dev, rather than creating them + ourselves. + - remove --auto-update-home-hosts + - new config file line "auto" + - new "" and "any" options for "homehost" + - numerous bug fixes and minor enhancements. diff --git a/ReadMe.c b/ReadMe.c index b8734d1..6a5c83c 100644 --- a/ReadMe.c +++ b/ReadMe.c @@ -24,7 +24,7 @@ #include "mdadm.h" -char Version[] = Name " - v3.0-rc1 - 11th May 2009\n"; +char Version[] = Name " - v3.0 - 2nd June 2009\n"; /* * File: ReadMe.c diff --git a/inventory b/inventory index 5e1aa75..be94cce 100755 --- a/inventory +++ b/inventory @@ -1,33 +1,5 @@ -ANNOUNCE-2.0 -ANNOUNCE-2.1 -ANNOUNCE-2.2 -ANNOUNCE-2.3 -ANNOUNCE-2.3.1 -ANNOUNCE-2.4 -ANNOUNCE-2.4.1 -ANNOUNCE-2.4-pre1 -ANNOUNCE-2.5 -ANNOUNCE-2.5.1 -ANNOUNCE-2.5.2 -ANNOUNCE-2.5.3 -ANNOUNCE-2.5.4 -ANNOUNCE-2.5.5 -ANNOUNCE-2.5.6 -ANNOUNCE-2.6 -ANNOUNCE-2.6.1 -ANNOUNCE-2.6.2 -ANNOUNCE-2.6.3 -ANNOUNCE-2.6.4 -ANNOUNCE-2.6.5 -ANNOUNCE-2.6.6 -ANNOUNCE-2.6.7 -ANNOUNCE-2.6.8 -ANNOUNCE-2.6.9 -ANNOUNCE-3.0-devel1 -ANNOUNCE-3.0-devel2 -ANNOUNCE-3.0-devel3 -ANNOUNCE-3.0-rc1 +ANNOUNCE-3.0 Assemble.c bitmap.c bitmap.h diff --git a/mdadm.8 b/mdadm.8 index 2607c8f..45579ff 100644 --- a/mdadm.8 +++ b/mdadm.8 @@ -5,7 +5,7 @@ .\" the Free Software Foundation; either version 2 of the License, or .\" (at your option) any later version. .\" See file COPYING in distribution for details. -.TH MDADM 8 "" v3.0-rc1 +.TH MDADM 8 "" v3.0 .SH NAME mdadm \- manage MD devices .I aka diff --git a/mdadm.spec b/mdadm.spec index c961817..0e6a40f 100644 --- a/mdadm.spec +++ b/mdadm.spec @@ -1,6 +1,6 @@ Summary: mdadm is used for controlling Linux md devices (aka RAID arrays) Name: mdadm -Version: 3.0_rc1 +Version: 3.0 Release: 1 Source: http://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-%{version}.tgz URL: http://neil.brown.name/blog/mdadm diff --git a/mdassemble.8 b/mdassemble.8 index 1baf2fe..b9c6b48 100644 --- a/mdassemble.8 +++ b/mdassemble.8 @@ -1,5 +1,5 @@ .\" -*- nroff -*- -.TH MDASSEMBLE 8 "" v3.0-rc1 +.TH MDASSEMBLE 8 "" v3.0 .SH NAME mdassemble \- assemble MD devices .I aka diff --git a/mdmon.8 b/mdmon.8 index c9cb5de..7670433 100644 --- a/mdmon.8 +++ b/mdmon.8 @@ -1,5 +1,5 @@ .\" See file COPYING in distribution for details. -.TH MDMON 8 "" v3.0-rc1 +.TH MDMON 8 "" v3.0 .SH NAME mdmon \- monitor MD external metadata arrays -- cgit v1.2.1