Release mdadm-3.0-devel3
This commit is contained in:
parent
8844e29149
commit
b9d77223eb
|
@ -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.
|
2
ReadMe.c
2
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
|
||||
|
|
10
inventory
10
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
|
||||
|
|
7
makedist
7
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 - _`
|
||||
|
|
2
mdadm.8
2
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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
2
mdmon.8
2
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
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in New Issue