]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Release mdadm-3.0-devel3 mdadm-3.0-devel3
authorNeilBrown <neilb@suse.de>
Tue, 10 Mar 2009 05:59:57 +0000 (16:59 +1100)
committerNeilBrown <neilb@suse.de>
Tue, 10 Mar 2009 05:59:57 +0000 (16:59 +1100)
ANNOUNCE-3.0-devel3 [new file with mode: 0644]
ReadMe.c
inventory
makedist
mdadm.8
mdadm.spec
mdassemble.8
mdmon.8
super-intel.c

diff --git a/ANNOUNCE-3.0-devel3 b/ANNOUNCE-3.0-devel3
new file mode 100644 (file)
index 0000000..078be07
--- /dev/null
@@ -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.
index dd53c48f71381c6ccaaab23303a7af32bb5d4aa0..d0d762e32eed4ea542282c7a6f358a4f244bae8f 100644 (file)
--- a/ReadMe.c
+++ b/ReadMe.c
@@ -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
index f52ec025bba01d4a544c0a5e79ae05a551548e24..0c4a597b487ddd994987868c267099b1550ea976 100755 (executable)
--- a/inventory
+++ b/inventory
@@ -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
index 7adbd7f2cdcae491c9795f654fb90098cc690f92..03ec5fc9721c61e8b5f0daad90a6c3edd6c0ac01 100755 (executable)
--- a/makedist
+++ b/makedist
@@ -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 - _`
diff --git a/mdadm.8 b/mdadm.8
index 1b9071f8f9b032af6fd1498442b83cc6d5f9889a..064d70a0f720e37a37df56aed48eec874cff94e0 100644 (file)
--- 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-devel2
+.TH MDADM 8 "" v3.0-devel3
 .SH NAME
 mdadm \- manage MD devices
 .I aka
index c290b4e39dcd97aa5f105c2dbe58f92fe6c78cb1..ea5875cf552d69401d0b4c86de57d1c21f4bf1b4 100644 (file)
@@ -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
index a0d07bb66a1bc6d1c4051530eb7f8d29232d3320..adae918fd309ce868f3aaf1cff22ea54759c5e9b 100644 (file)
@@ -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
diff --git a/mdmon.8 b/mdmon.8
index 2cdf145d9ebce6e05fdbd4f9f1f235e78dabd75b..62d9f2ac5c5e8c603a5246642b5fbf742887a12d 100644 (file)
--- a/mdmon.8
+++ b/mdmon.8
@@ -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
 
index 9c4f0eb56c19836a59016599335bc0fea81ac81a..b47371ee63be36e03b63555c11a3f0c4db19b78d 100644 (file)
@@ -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;