Release mdadm-3.3

(and  various cosmetic fixes)

Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
NeilBrown 2013-09-03 14:16:22 +10:00
parent 2dfb675b94
commit 6f02172d2e
19 changed files with 325 additions and 66 deletions

63
ANNOUNCE-3.3 Normal file
View File

@ -0,0 +1,63 @@
Subject: ANNOUNCE: mdadm 3.3 - A tools for managing md Soft RAID under Linux
I am pleased to announce the availability of
mdadm version 3.3
It is available at the usual places:
http://www.kernel.org/pub/linux/utils/raid/mdadm/
and via git at
git://github.com/neilbrown/mdadm
git://neil.brown.name/mdadm
http://git.neil.brown.name/git/mdadm
This is a major new release so don't be too surprised if there are a
few issues. If I hear about them they will be fixed in 3.3.1.
git log reports nearly 500 changes since 3.2.6 so I won't list them
all.
Some highlights are:
- Some array reshapes can proceed without needing backup file.
This is done by changing the 'data_offset' so we never need to write
any data back over where it was before. If there is no "head space"
or "tail space" to allow data_offset to change, the old mechanism
with a backup file can still be used.
- RAID10 arrays can be reshaped to change the number of devices,
change the chunk size, or change the layout between 'near'
and 'offset'.
This will always change data_offset, and will fail if there is no
room for data_offset to be moved.
- "--assemble --update=metadata" can convert a 0.90 array to a 1.0 array.
- bad-block-logs are supported (but not heavily tested yet)
- "--assemble --update=revert-reshape" can be used to undo a reshape
that has just been started but isn't really wanted. This is very
new and while it passes basic tests it cannot be guaranteed.
- improved locking between --incremental and --assemble
- uses systemd to run "mdmon" if systemd is configured to do that.
- kernel names of md devices can be non-numeric. e.g. "md_home" rather than
"md0". This will probably confuse lots of other tools, so you need to
echo CREATE names=yes >> /etc/mdadm.conf
or the feature will not be used. (you also need a reasonably new kernel).
- "--stop" can be given a kernel name instead of a device name. i.e
mdadm --stop md4
will work even if /dev/md4 doesn't exist.
- "--detail --export" has some information about the devices in the array
- --dump and --restore can be used to backup and restore the metadata on an
array.
- Hot-replace is supported with
mdadm /dev/mdX --replace /dev/foo
and
mdadm /dev/mdX --replace /dev/foo --with /dev/bar
- Config file can be a directory in which case all "*.conf" files are
read in lexical order.
Default is to read /etc/mdadm.conf and then /etc/mdadm.conf.d
Thus
echo CREATE name=yes > /etc/mdadm.conf.d/names.conf
will also enable the use of named md devices.
- Lots of improvements to DDF support including adding support for
RAID10 (thanks Martin Wilck).
and lots of bugfixes and other little changes.
NeilBrown 3rd September 2013

View File

@ -1,7 +1,7 @@
/* /*
* mdadm - manage Linux "md" devices aka RAID arrays. * mdadm - manage Linux "md" devices aka RAID arrays.
* *
* Copyright (C) 2001-2012 Neil Brown <neilb@suse.de> * Copyright (C) 2001-2013 Neil Brown <neilb@suse.de>
* *
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify

205
ChangeLog
View File

@ -1,6 +1,197 @@
Please see git logs for detailed change log. Please see git logs for detailed change log.
This file just contains highlight. This file just contains highlight.
Changes Prior to release 3.3
- Some array reshapes can proceed without needing backup file.
This is done by changing the 'data_offset' so we never need to write
any data back over where it was before. If there is no "head space"
or "tail space" to allow data_offset to change, the old mechanism
with a backup file can still be used.
- RAID10 arrays can be reshaped to change the number of devices,
change the chunk size, or change the layout between 'near'
and 'offset'.
This will always change data_offset, and will fail if there is no
room for data_offset to be moved.
- "--assemble --update=metadata" can convert a 0.90 array to a 1.0 array.
- bad-block-logs are supported (but not heavily tested yet)
- "--assemble --update=revert-reshape" can be used to undo a reshape
that has just been started but isn't really wanted. This is very
new and while it passes basic tests it cannot be guaranteed.
- improved locking between --incremental and --assemble
- uses systemd to run "mdmon" if systemd is configured to do that.
- kernel names of md devices can be non-numeric. e.g. "md_home" rather than
"md0". This will probably confuse lots of other tools, so you need to
echo CREATE names=yes >> /etc/mdadm.conf
or the feature will not be used. (you also need a reasonably new kernel).
- "--stop" can be given a kernel name instead of a device name. i.e
mdadm --stop md4
will work even if /dev/md4 doesn't exist.
- "--detail --export" has some information about the devices in the array
- --dump and --restore can be used to backup and restore the metadata on an
array.
- Hot-replace is supported with
mdadm /dev/mdX --replace /dev/foo
and
mdadm /dev/mdX --replace /dev/foo --with /dev/bar
- Config file can be a directory in which case all "*.conf" files are
read in lexical order.
Default is to read /etc/mdadm.conf and then /etc/mdadm.conf.d
Thus
echo CREATE name=yes > /etc/mdadm.conf.d/names.conf
will also enable the use of named md devices.
- Lots of improvements to DDF support including adding support for
RAID10 (thanks Martin Wilck).
Changes Prior to release 3.2.6
- There are no real stand-out fixes, just lots of little bits and pieces.
Changes Prior to release 3.2.5
- This release primarily fixes a serious regression in 3.2.4.
This regression does *not* cause any risk to data. It simply
means that adding a device with "--add" would sometime fail
when it should not.
- The fix also includes a couple of minor fixes such as making
the "--layout=preserve" option to "--grow" work again.
Changes Prior to release 3.2.4
"--oneline" log of changes is below. Some notable ones are:
- --offroot argument to improve interactions between mdmon and initrd
- --prefer argument to select which /dev names to display in some
circumstances.
- relax restructions on when "--add" will be allowed
- Fix bug with adding write-intent-bitmap to active array
- Now defaults to "/run/mdadm" for storing run-time files.
Changes Prior to release 3.2.3
- The largest single area of change is support for reshape of Intel
IMSM arrays (OnLine Capacity Explansion and Level Migration).
- Among other fixes, this now has a better chance of surviving if a
device fails during reshape.
Changes Prior to release 3.2.2
- reshaping IMSM (Intel metadata) arrays is no longer 'experimental',
it should work properly and be largely compatible with IMSM drivers in
other platforms.
- --assume-clean can be used with --grow --size to avoid resyncing the
new part of the array. This is only support with very new kernels.
- RAID0 arrays can have chunksize which is not a power of 2. This has been
supported in the kernel for a while but is only now supprted by
mdadm.
- A new tool 'raid6check' is available which can check a RAID6 array,
or part of it, and report which device is most inconsistent with the
others if any stripe is inconsistent. This is still under development
and does not have a man page yet. If anyone tries it out and has any
questions or experience to report, they would be most welcome on
linux-raid@vger.kernel.org.
Changes Prior to release 3.2.1
- policy framework
Policy can be expressed for moving spare devices between arrays, and
for how to handle hot-plugged devices. This policy can be different
for devices plugged in to different controllers etc.
This, for example, allows a configuration where when a device is plugged
in it is immediately included in an md array as a hot spare and
possibly starts recovery immediately if an array is degraded.
- some understanding of mbr and gpt paritition tables
This is primarly to support the new hot-plug support. If a
device is plugged in and policy suggests it should have a partition table,
the partition table will be copied from a suitably similar device, and
then the partitions will hot-plug and can then be added to md arrays.
- "--incremental --remove" can remember where a device was removed from
so if a device gets plugged back in the same place, special policy applies
to it, allowing it to be included in an array even if a general hotplug
will not be included.
- enhanced reshape options, including growing a RAID0 by converting to RAID4,
restriping, and converting back. Also convertions between RAID0 and
RAID10 and between RAID1 and RAID10 are possible (with a suitably recent
kernel).
- spare migration for IMSM arrays.
Spare migration can now work across 'containers' using non-native metadata
and specifically Intel's IMSM arrays support spare migrations.
- OLCE and level migration for Intel IMSM arrays.
OnLine Capacity Expansion and level migration (e.g. RAID0 -> RAID5) is
supported for Intel Matrix Storage Manager arrays.
This support is currently 'experimental' for technical reasons. It can
be enabled with "export MDADM_EXPERIMENTAL=1"
- avoid including wayward devices
If you split a RAID1, mount the two halves as two separate degraded RAID1s,
and then later bring the two back together, it is possible that the md
metadata won't properly show that one must over-ride the other.
mdadm now does extra checking to detect this possibilty and avoid
potentially corrupting data.
- remove any possible confusion between similar options.
e.g. --brief and --bitmap were mapped to 'b' and mdadm wouldn't
notice if one was used where the other was expected.
- allow K,M,G suffixes on chunk sizes
Changes Prior to release 3.2
- By far the most significant change in this release related to the
management of reshaping arrays. This code has been substantially
re-written so that it can work with 'externally managed metadata' -
Intel's IMSM in particular. We now support level migration and
OnLine Capacity Expansion on these arrays.
- Policy framework.
Various policy statements can be made in the mdadm.conf to guide
the behaviour of mdadm, particular with regards to how new devices
are treated by "mdadm -I".
Depending on the 'action' associated with a device (identified by
its 'path') such need devices can be automatically re-added to and
existing array that they previously fell out off, or automatically
added as a spare if they appear to contain no data.
- mdadm now has a limited understanding of partition tables. This
allows the policy framework to make decisions about partitioned
devices as well.
- --incremental --remove can be told what --path the device was on,
and this info will be recorded so that another device appearing at
the same physical location can be preferentially added to the same
array (provides the spare-same-slot action policy applied to the
path).
- A new flags "--invalid-backup" flag is available in --assemble
mode. This can be used to re-assemble an array which was stopping
in the middle of a reshape, and for which the 'backup file' is no
longer available or is corrupted. The array may have some
corruption in it at the point where reshape was up to, but at least
the rest of the array will become available.
- Various internal restructuring - more is needed.
Changes Prior to release 3.1.5
- Fixes for v1.x metadata on big-endian machines.
- man page improvements
- Improve '--detail --export' when run on partitions of an md array.
- Fix regression with removing 'failed' or 'detached' devices.
- Fixes for "--assemble --force" in various unusual cases.
- Allow '-Y' to mean --export. This was documented but not implemented.
- Various fixed for handling 'ddf' metadata. This is now more reliable
but could benefit from more interoperability testing.
- Correctly list subarrays of a container in "--detail" output.
- Improve checks on whether the requested number of devices is supported
by the metadata - both for --create and --grow.
- Don't remove partitions from a device that is being included in an
array until we are fully committed to including it.
- Allow "--assemble --update=no-bitmap" so an array with a corrupt
bitmap can still be assembled.
- Don't allow --add to succeed if it looks like a "--re-add" is probably
wanted, but cannot succeed. This avoids inadvertently turning
devices into spares when an array is failed.
Changes Prior to release 3.1.4 Changes Prior to release 3.1.4
Two fixes related to configs that aren't using udev: Two fixes related to configs that aren't using udev:
- Don't remove md devices which 'standard' names on --stop - Don't remove md devices which 'standard' names on --stop
@ -9,7 +200,7 @@ Changes Prior to release 3.1.4
- Allow --incremental to add spares to an array - Allow --incremental to add spares to an array
- Accept --no-degraded as a deprecated option rather than - Accept --no-degraded as a deprecated option rather than
throwing an error throwing an error
- Return correct success status when --incrmental assembling - Return correct success status when --incrmental assembling
a container which does not yet have enough devices. a container which does not yet have enough devices.
- Don't link mdadm with pthreads, only mdmon needs it. - Don't link mdadm with pthreads, only mdmon needs it.
- Fix compiler warning due to bad use of snprintf - Fix compiler warning due to bad use of snprintf
@ -41,7 +232,7 @@ Changes Prior to release 3.1.3
Changes Prior to release 3.1.2 Changes Prior to release 3.1.2
- The default metadata has change again (sorry about that). - The default metadata has change again (sorry about that).
It is now v1.2 and will hopefully stay that way. It turned It is now v1.2 and will hopefully stay that way. It turned
out there with boot-block issues with v1.1 which make it out there with boot-block issues with v1.1 which make it
unsuitable for a default, though in many cases it is still unsuitable for a default, though in many cases it is still
suitable to use. suitable to use.
- Stopping a container is not permitted when members are still - Stopping a container is not permitted when members are still
@ -64,7 +255,7 @@ Changes Prior to release 3.1.2
- Add section on 'scrubbing' to 'md' man page. - Add section on 'scrubbing' to 'md' man page.
- Various command-line-option parsing improvements. - Various command-line-option parsing improvements.
- ... and lots of other bug fixes. - ... and lots of other bug fixes.
Changes Prior to release 3.1.1 Changes Prior to release 3.1.1
- Multiple fixes for new --grow levels including fixes for - Multiple fixes for new --grow levels including fixes for
serious data corruption problems. serious data corruption problems.
@ -80,10 +271,10 @@ Changes Prior to release 3.1
- Support --grow to change level from RAID1 -> RAID5 -> RAID6 and - Support --grow to change level from RAID1 -> RAID5 -> RAID6 and
back. back.
- Support --grow to reduce the number of devices in RAID4/5/6. - Support --grow to reduce the number of devices in RAID4/5/6.
- Support restart of these grow options which assembling an array - Support restart of these grow options which assembling an array
which is partially grown. which is partially grown.
- Assorted tests of this code, and of different RAID6 layouts. - Assorted tests of this code, and of different RAID6 layouts.
Changes Prior to release 3.0.3 Changes Prior to release 3.0.3
- Improvements for creating arrays giving just a name, like 'foo', - Improvements for creating arrays giving just a name, like 'foo',
rather than the full '/dev/md/foo'. rather than the full '/dev/md/foo'.
@ -95,7 +286,7 @@ Changes Prior to release 3.0.3
- Handle merging of devices that have left an IMSM array and are - Handle merging of devices that have left an IMSM array and are
being re-incorporated. being re-incorporated.
- Add missing space in "--detail --brief" output. - Add missing space in "--detail --brief" output.
Changes Prior to release 3.0.2 Changes Prior to release 3.0.2
- Fix crash when hosthost is not set, as often happens in - Fix crash when hosthost is not set, as often happens in
early boot. early boot.
@ -104,7 +295,7 @@ Changes Prior to release 3.0.1
- Fix various segfaults - Fix various segfaults
- Fixed for --examine with containers - Fixed for --examine with containers
- Lots of other little fixes. - Lots of other little fixes.
Changes Prior to release 3.0 Changes Prior to release 3.0
- Support for externally managed metadata, specifically DDF and IMSM. - Support for externally managed metadata, specifically DDF and IMSM.
- Depend on udev to create entries in /dev, rather than creating them - Depend on udev to create entries in /dev, rather than creating them

View File

@ -1,7 +1,7 @@
/* /*
* mdadm - manage Linux "md" devices aka RAID arrays. * mdadm - manage Linux "md" devices aka RAID arrays.
* *
* Copyright (C) 2001-2012 Neil Brown <neilb@suse.de> * Copyright (C) 2001-2013 Neil Brown <neilb@suse.de>
* *
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify

View File

@ -1,7 +1,7 @@
/* /*
* mdadm - manage Linux "md" devices aka RAID arrays. * mdadm - manage Linux "md" devices aka RAID arrays.
* *
* Copyright (C) 2001-2012 Neil Brown <neilb@suse.de> * Copyright (C) 2001-2013 Neil Brown <neilb@suse.de>
* *
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify

View File

@ -1,7 +1,7 @@
/* /*
* mdadm - manage Linux "md" devices aka RAID arrays. * mdadm - manage Linux "md" devices aka RAID arrays.
* *
* Copyright (C) 2001-2012 Neil Brown <neilb@suse.de> * Copyright (C) 2001-2013 Neil Brown <neilb@suse.de>
* *
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify

2
Grow.c
View File

@ -1,7 +1,7 @@
/* /*
* mdadm - manage Linux "md" devices aka RAID arrays. * mdadm - manage Linux "md" devices aka RAID arrays.
* *
* Copyright (C) 2001-2012 Neil Brown <neilb@suse.de> * Copyright (C) 2001-2013 Neil Brown <neilb@suse.de>
* *
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify

View File

@ -2,7 +2,7 @@
* Incremental.c - support --incremental. Part of: * Incremental.c - support --incremental. Part of:
* mdadm - manage Linux "md" devices aka RAID arrays. * mdadm - manage Linux "md" devices aka RAID arrays.
* *
* Copyright (C) 2006-2012 Neil Brown <neilb@suse.de> * Copyright (C) 2006-2013 Neil Brown <neilb@suse.de>
* *
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify

View File

@ -1,7 +1,7 @@
/* /*
* mdadm - manage Linux "md" devices aka RAID arrays. * mdadm - manage Linux "md" devices aka RAID arrays.
* *
* Copyright (C) 2001-2012 Neil Brown <neilb@suse.de> * Copyright (C) 2001-2013 Neil Brown <neilb@suse.de>
* *
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify

View File

@ -1,7 +1,7 @@
/* /*
* mdadm - manage Linux "md" devices aka RAID arrays. * mdadm - manage Linux "md" devices aka RAID arrays.
* *
* Copyright (C) 2001-2012 Neil Brown <neilb@suse.de> * Copyright (C) 2001-2013 Neil Brown <neilb@suse.de>
* *
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -25,10 +25,10 @@
#include "mdadm.h" #include "mdadm.h"
#ifndef VERSION #ifndef VERSION
#define VERSION "3.3-rc2" #define VERSION "3.3"
#endif #endif
#ifndef VERS_DATE #ifndef VERS_DATE
#define VERS_DATE "25th July 2013" #define VERS_DATE "3rd September 2013"
#endif #endif
char Version[] = Name " - v" VERSION " - " VERS_DATE "\n"; char Version[] = Name " - v" VERSION " - " VERS_DATE "\n";

View File

@ -16,12 +16,15 @@ ANNOUNCE-3.2.2
ANNOUNCE-3.2.3 ANNOUNCE-3.2.3
ANNOUNCE-3.2.4 ANNOUNCE-3.2.4
ANNOUNCE-3.2.5 ANNOUNCE-3.2.5
ANNOUNCE-3.2.6
ANNOUNCE-3.3
Assemble.c Assemble.c
Build.c Build.c
COPYING COPYING
ChangeLog ChangeLog
Create.c Create.c
Detail.c Detail.c
Dump.c
Examine.c Examine.c
Grow.c Grow.c
INSTALL INSTALL
@ -99,10 +102,13 @@ super0.c
super1.c super1.c
swap_super.c swap_super.c
sysfs.c sysfs.c
systemd/
systemd/mdmon@.service
test test
tests/ tests/
tests/00linear tests/00linear
tests/00multipath tests/00multipath
tests/00names
tests/00raid0 tests/00raid0
tests/00raid1 tests/00raid1
tests/00raid10 tests/00raid10
@ -113,16 +119,25 @@ tests/01r1fail
tests/01r5fail tests/01r5fail
tests/01r5integ tests/01r5integ
tests/01raid6integ tests/01raid6integ
tests/01replace
tests/02lineargrow tests/02lineargrow
tests/02r1add tests/02r1add
tests/02r1grow tests/02r1grow
tests/02r5grow tests/02r5grow
tests/02r6grow tests/02r6grow
tests/03assem-incr
tests/03r0assem tests/03r0assem
tests/03r5assem tests/03r5assem
tests/03r5assemV1 tests/03r5assemV1
tests/04r0update tests/04r0update
tests/04r1update tests/04r1update
tests/04r5swap
tests/04update-metadata
tests/04update-uuid
tests/05r1-add-internalbitmap
tests/05r1-add-internalbitmap-v1a
tests/05r1-add-internalbitmap-v1b
tests/05r1-add-internalbitmap-v1c
tests/05r1-bitmapfile tests/05r1-bitmapfile
tests/05r1-grow-external tests/05r1-grow-external
tests/05r1-grow-internal tests/05r1-grow-internal
@ -134,13 +149,16 @@ tests/05r1-internalbitmap-v1c
tests/05r1-n3-bitmapfile tests/05r1-n3-bitmapfile
tests/05r1-re-add tests/05r1-re-add
tests/05r1-re-add-nosuper tests/05r1-re-add-nosuper
tests/05r1-remove-internalbitmap
tests/05r1-remove-internalbitmap-v1a
tests/05r1-remove-internalbitmap-v1b
tests/05r1-remove-internalbitmap-v1c
tests/05r5-bitmapfile tests/05r5-bitmapfile
tests/05r5-internalbitmap tests/05r5-internalbitmap
tests/05r6-bitmapfile tests/05r6-bitmapfile
tests/05r6tor0
tests/06name tests/06name
tests/06r5swap
tests/06sysfs tests/06sysfs
tests/06update-uuid
tests/06wrmostly tests/06wrmostly
tests/07autoassemble tests/07autoassemble
tests/07autodetect tests/07autodetect
@ -148,11 +166,20 @@ tests/07changelevelintr
tests/07changelevels tests/07changelevels
tests/07layouts tests/07layouts
tests/07reshape5intr tests/07reshape5intr
tests/07revert-grow
tests/07revert-inplace
tests/07revert-shrink
tests/07testreshape5 tests/07testreshape5
tests/08imsm-overlap
tests/09imsm-assemble tests/09imsm-assemble
tests/09imsm-create-fail-rebuild tests/09imsm-create-fail-rebuild
tests/09imsm-overlap
tests/10ddf-create tests/10ddf-create
tests/10ddf-create-fail-rebuild
tests/10ddf-fail-create-race
tests/10ddf-fail-spare
tests/10ddf-fail-twice
tests/10ddf-fail-two-spares
tests/10ddf-geometry
tests/11spare-migration tests/11spare-migration
tests/12imsm-r0_2d-grow-r0_3d tests/12imsm-r0_2d-grow-r0_3d
tests/12imsm-r0_2d-grow-r0_4d tests/12imsm-r0_2d-grow-r0_4d
@ -190,11 +217,17 @@ tests/18imsm-1d-takeover-r1_2d
tests/18imsm-r0_2d-takeover-r10_4d tests/18imsm-r0_2d-takeover-r10_4d
tests/18imsm-r10_4d-takeover-r0_2d tests/18imsm-r10_4d-takeover-r0_2d
tests/18imsm-r1_2d-takeover-r0_1d tests/18imsm-r1_2d-takeover-r0_1d
tests/19raid6auto-repair
tests/19raid6repair
tests/19repair-does-not-destroy
tests/ToTest tests/ToTest
tests/check tests/check
tests/env-ddf-template
tests/env-imsm-template tests/env-imsm-template
tests/imsm-grow-template tests/imsm-grow-template
tests/testdev tests/testdev
tests/utils tests/utils
udev-md-raid.rules udev-md-raid-arrays.rules
udev-md-raid-assembly.rules
util.c util.c
xmalloc.c

View File

@ -15,7 +15,7 @@ else echo $target is not a directory
exit 2 exit 2
fi fi
set `grep '^#define VERSION' ReadMe.c ` set `grep '^#define VERSION' ReadMe.c `
version=`echo $7 | sed -e 's/"//g'` version=`echo $3 | sed -e 's/"//g'`
grep "^.TH MDADM 8 .. v$version" mdadm.8.in > /dev/null 2>&1 || grep "^.TH MDADM 8 .. v$version" mdadm.8.in > /dev/null 2>&1 ||
{ {
echo mdadm.8.in does not mention version $version. echo mdadm.8.in does not mention version $version.
@ -47,8 +47,8 @@ echo version = $version
base=mdadm-$version.tar.gz base=mdadm-$version.tar.gz
if [ " $arg" != " diff" ] if [ " $arg" != " diff" ]
then then
if [ -f $target/$base ] if [ -f $target/$base ]
then then
echo $target/$base exists. echo $target/$base exists.
exit 1 exit 1
fi fi
@ -83,14 +83,14 @@ then
fi fi
fi fi
else else
if [ ! -f $target/$base ] if [ ! -f $target/$base ]
then then
echo $target/$base does not exist. echo $target/$base does not exist.
exit 1 exit 1
fi fi
( cd .. ; ln -s mdadm.v2 mdadm-$version ; tar chf - --exclude=.git --exclude="TAGS" --exclude='*,v' --exclude='*~' --exclude='*.o' --exclude mdadm --exclude=mdadm'.[^ch0-9]' --exclude=RCS mdadm-$version ; rm mdadm-$version ) | gzip --best > /var/tmp/mdadm-new.tgz ( cd .. ; ln -s mdadm.v2 mdadm-$version ; tar chf - --exclude=.git --exclude="TAGS" --exclude='*,v' --exclude='*~' --exclude='*.o' --exclude mdadm --exclude=mdadm'.[^ch0-9]' --exclude=RCS mdadm-$version ; rm mdadm-$version ) | gzip --best > /var/tmp/mdadm-new.tgz
mkdir /var/tmp/mdadm-old ; zcat $target/$base | ( cd /var/tmp/mdadm-old ; tar xf - ) mkdir /var/tmp/mdadm-old ; zcat $target/$base | ( cd /var/tmp/mdadm-old ; tar xf - )
mkdir /var/tmp/mdadm-new ; zcat /var/tmp/mdadm-new.tgz | ( cd /var/tmp/mdadm-new ; tar xf - ) mkdir /var/tmp/mdadm-new ; zcat /var/tmp/mdadm-new.tgz | ( cd /var/tmp/mdadm-new ; tar xf - )
diff -ru /var/tmp/mdadm-old /var/tmp/mdadm-new diff -ru /var/tmp/mdadm-old /var/tmp/mdadm-new
rm -rf /var/tmp/mdadm-old /var/tmp/mdadm-new /var/tmp/mdadm-new.tgz rm -rf /var/tmp/mdadm-old /var/tmp/mdadm-new /var/tmp/mdadm-new.tgz
fi fi

View File

@ -5,7 +5,7 @@
.\" the Free Software Foundation; either version 2 of the License, or .\" the Free Software Foundation; either version 2 of the License, or
.\" (at your option) any later version. .\" (at your option) any later version.
.\" See file COPYING in distribution for details. .\" See file COPYING in distribution for details.
.TH MDADM 8 "" v3.2.5 .TH MDADM 8 "" v3.3
.SH NAME .SH NAME
mdadm \- manage MD devices mdadm \- manage MD devices
.I aka .I aka

View File

@ -1,7 +1,7 @@
/* /*
* mdadm - manage Linux "md" devices aka RAID arrays. * mdadm - manage Linux "md" devices aka RAID arrays.
* *
* Copyright (C) 2001-2012 Neil Brown <neilb@suse.de> * Copyright (C) 2001-2013 Neil Brown <neilb@suse.de>
* *
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify

View File

@ -1,6 +1,6 @@
Summary: mdadm is used for controlling Linux md devices (aka RAID arrays) Summary: mdadm is used for controlling Linux md devices (aka RAID arrays)
Name: mdadm Name: mdadm
Version: 3.2.5 Version: 3.3
Release: 1 Release: 1
Source: http://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-%{version}.tar.gz Source: http://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-%{version}.tar.gz
URL: http://neil.brown.name/blog/mdadm URL: http://neil.brown.name/blog/mdadm
@ -9,7 +9,7 @@ Group: Utilities/System
BuildRoot: %{_tmppath}/%{name}-root BuildRoot: %{_tmppath}/%{name}-root
Obsoletes: mdctl Obsoletes: mdctl
%description %description
mdadm is a program that can be used to create, manage, and monitor mdadm is a program that can be used to create, manage, and monitor
Linux MD (Software RAID) devices. Linux MD (Software RAID) devices.
@ -37,37 +37,9 @@ rm -rf $RPM_BUILD_ROOT
%doc TODO ChangeLog mdadm.conf-example COPYING %doc TODO ChangeLog mdadm.conf-example COPYING
%{_sbindir}/mdadm %{_sbindir}/mdadm
%{_sbindir}/mdmon %{_sbindir}/mdmon
/lib/udev/rules.d/64-md-raid.rules /usr/lib/udev/rules.d/63-md-raid-arrays.rules
/usr/lib/udev/rules.d/64-md-raid-assembly.rules
%config(noreplace,missingok)/%{_sysconfdir}/mdadm.conf %config(noreplace,missingok)/%{_sysconfdir}/mdadm.conf
%{_mandir}/man*/md* %{_mandir}/man*/md*
%changelog %changelog
* Fri May 10 2002 <neilb@cse.unsw.edu.au>
- update to 1.0.0
- Set CXFLAGS instead of CFLAGS
* Sat Apr 6 2002 <neilb@cse.unsw.edu.au>
- change install to use "make install"
* Fri Mar 15 2002 <gleblanc@localhost.localdomain>
- beautification
- made mdadm.conf non-replaceable config
- renamed Copyright to License in the header
- added missing license file
- used macros for file paths
* Fri Mar 15 2002 Luca Berra <bluca@comedia.it>
- Added Obsoletes: mdctl
- missingok for configfile
* Wed Mar 12 2002 NeilBrown <neilb@cse.unsw.edu.au>
- Add md.4 and mdadm.conf.5 man pages
* Fri Mar 08 2002 Chris Siebenmann <cks@cquest.utoronto.ca>
- builds properly as non-root.
* Fri Mar 08 2002 Derek Vadala <derek@cynicism.com>
- updated for 0.7, fixed /usr/share/doc and added manpage
* Tue Aug 07 2001 Danilo Godec <danci@agenda.si>
- initial RPM build

View File

@ -1,5 +1,5 @@
.\" -*- nroff -*- .\" -*- nroff -*-
.TH MDASSEMBLE 8 "" v3.2.5 .TH MDASSEMBLE 8 "" v3.3
.SH NAME .SH NAME
mdassemble \- assemble MD devices mdassemble \- assemble MD devices
.I aka .I aka
@ -9,7 +9,7 @@ Linux Software RAID
.BI mdassemble .BI mdassemble
.SH DESCRIPTION .SH DESCRIPTION
.B mdassemble .B mdassemble
is a tiny program that can be used to assemble MD devices inside an is a tiny program that can be used to assemble MD devices inside an
initial ramdisk (initrd) or initramfs; it is meant to replace the in-kernel initial ramdisk (initrd) or initramfs; it is meant to replace the in-kernel

View File

@ -1,5 +1,5 @@
.\" See file COPYING in distribution for details. .\" See file COPYING in distribution for details.
.TH MDMON 8 "" v3.2.5 .TH MDMON 8 "" v3.3
.SH NAME .SH NAME
mdmon \- monitor MD external metadata arrays mdmon \- monitor MD external metadata arrays

View File

@ -1,7 +1,7 @@
/* /*
* mdadm - manage Linux "md" devices aka RAID arrays. * mdadm - manage Linux "md" devices aka RAID arrays.
* *
* Copyright (C) 2001-2012 Neil Brown <neilb@suse.de> * Copyright (C) 2001-2013 Neil Brown <neilb@suse.de>
* *
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify

2
util.c
View File

@ -1,7 +1,7 @@
/* /*
* mdadm - manage Linux "md" devices aka RAID arrays. * mdadm - manage Linux "md" devices aka RAID arrays.
* *
* Copyright (C) 2001-2012 Neil Brown <neilb@suse.de> * Copyright (C) 2001-2013 Neil Brown <neilb@suse.de>
* *
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify