diff options
author | NeilBrown <neilb@suse.de> | 2009-03-10 06:59:57 +0100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2009-03-10 06:59:57 +0100 |
commit | b9d77223eb68a211410131b5b0895c547a6d5734 (patch) | |
tree | c852d52da63b15e16ac747a036fefe715ad1bc87 | |
parent | Merge branch 'master' in devel-3.0 (diff) | |
download | mdadm-3.0-devel3.tar.xz mdadm-3.0-devel3.zip |
Release mdadm-3.0-devel3mdadm-3.0-devel3
-rw-r--r-- | ANNOUNCE-3.0-devel3 | 113 | ||||
-rw-r--r-- | ReadMe.c | 2 | ||||
-rwxr-xr-x | inventory | 10 | ||||
-rwxr-xr-x | makedist | 7 | ||||
-rw-r--r-- | mdadm.8 | 2 | ||||
-rw-r--r-- | mdadm.spec | 2 | ||||
-rw-r--r-- | mdassemble.8 | 2 | ||||
-rw-r--r-- | mdmon.8 | 2 | ||||
-rw-r--r-- | super-intel.c | 2 |
9 files changed, 135 insertions, 7 deletions
diff --git a/ANNOUNCE-3.0-devel3 b/ANNOUNCE-3.0-devel3 new file mode 100644 index 00000000..078be07b --- /dev/null +++ b/ANNOUNCE-3.0-devel3 @@ -0,0 +1,113 @@ +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. @@ -24,7 +24,7 @@ #include "mdadm.h" -char Version[] = Name " - v3.0-devel2 - 5th November 2008\n"; +char Version[] = Name " - v3.0-devel3 - 10th March 2009\n"; /* * File: ReadMe.c @@ -26,6 +26,7 @@ ANNOUNCE-2.6.8 ANNOUNCE-2.6.9 ANNOUNCE-3.0-devel1 ANNOUNCE-3.0-devel2 +ANNOUNCE-3.0-devel3 Assemble.c bitmap.c bitmap.h @@ -66,6 +67,7 @@ mdadm.h mdadm.spec mdassemble.8 mdassemble.c +mdmon.8 mdmon.c mdmon.h mdopen.c @@ -79,6 +81,10 @@ monitor.c Monitor.c msg.c msg.h +platform-intel.c +platform-intel.h +probe_roms.c +probe_roms.h pwgr.c Query.c raid5extend.c @@ -139,7 +145,11 @@ tests/07autoassemble tests/07autodetect tests/07reshape5intr tests/07testreshape5 +tests/08imsm-overlap +tests/09imsm-create-fail-rebuild tests/check +tests/env-08imsm-overlap +tests/env-09imsm-create-fail-rebuild tests/testdev tests/ToTest TODO @@ -16,7 +16,12 @@ set `grep '^char Version' ReadMe.c ` version=`echo $7 | sed 's/v//'` grep "^.TH MDADM 8 .. v$version" mdadm.8 > /dev/null 2>&1 || { - echo mdadm.8 does not mention verion $version. + echo mdadm.8 does not mention version $version. + exit 1 + } +grep "^.TH MDMON 8 .. v$version" mdmon.8 > /dev/null 2>&1 || + { + echo mdmon.8 does not mention version $version. exit 1 } rpmv=`echo $version | tr - _` @@ -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-devel2 +.TH MDADM 8 "" v3.0-devel3 .SH NAME mdadm \- manage MD devices .I aka @@ -1,6 +1,6 @@ Summary: mdadm is used for controlling Linux md devices (aka RAID arrays) Name: mdadm -Version: 3.0_devel2 +Version: 3.0_devel3 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 a0d07bb6..adae918f 100644 --- a/mdassemble.8 +++ b/mdassemble.8 @@ -1,5 +1,5 @@ .\" -*- nroff -*- -.TH MDASSEMBLE 8 "" v3.0-devel2 +.TH MDASSEMBLE 8 "" v3.0-devel3 .SH NAME mdassemble \- assemble MD devices .I aka @@ -1,5 +1,5 @@ .\" See file COPYING in distribution for details. -.TH MDMON 8 "" v3.0-devel2 +.TH MDMON 8 "" v3.0-devel3 .SH NAME mdmon \- monitor MD external metadata arrays diff --git a/super-intel.c b/super-intel.c index 9c4f0eb5..b47371ee 100644 --- a/super-intel.c +++ b/super-intel.c @@ -2830,7 +2830,7 @@ static unsigned long long merge_extents(struct intel_super *super, int sum_exten int i, j; int start_extent; unsigned long long pos; - unsigned long long start; + unsigned long long start = 0; unsigned long long maxsize; unsigned long reserve; |