summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ANNOUNCE-2.676
-rw-r--r--ChangeLog2
-rw-r--r--Incremental.c1
-rw-r--r--Monitor.c2
-rw-r--r--ReadMe.c2
-rw-r--r--inventory7
-rw-r--r--mdadm.82
-rw-r--r--mdadm.spec2
-rw-r--r--mdassemble.82
-rw-r--r--super0.c6
10 files changed, 93 insertions, 9 deletions
diff --git a/ANNOUNCE-2.6 b/ANNOUNCE-2.6
index e69de29b..cd3741db 100644
--- a/ANNOUNCE-2.6
+++ b/ANNOUNCE-2.6
@@ -0,0 +1,76 @@
+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/ChangeLog b/ChangeLog
index 3d684067..eabcdffc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,4 @@
-Changes Prior to this release
+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.
diff --git a/Incremental.c b/Incremental.c
index ebe501f7..705c402c 100644
--- a/Incremental.c
+++ b/Incremental.c
@@ -391,6 +391,7 @@ int Incremental(char *devname, int verbose, int runstop,
/* 7/ Is there enough devices to possibly start the array? */
/* 7a/ if not, finish with success. */
+ avail = NULL;
active_disks = count_active(st, mdfd, &avail, &info);
if (enough(info.array.level, info.array.raid_disks,
info.array.layout, info.array.state & 1,
diff --git a/Monitor.c b/Monitor.c
index 213e58d6..e5d98fb0 100644
--- a/Monitor.c
+++ b/Monitor.c
@@ -338,7 +338,7 @@ int Monitor(mddev_dev_t devlist,
close(fd);
for (i=0; i<MaxDisks; i++) {
- mdu_disk_info_t disc;
+ mdu_disk_info_t disc = {0};
int newstate=0;
int change;
char *dv = NULL;
diff --git a/ReadMe.c b/ReadMe.c
index 7e39c854..4e0a949e 100644
--- a/ReadMe.c
+++ b/ReadMe.c
@@ -29,7 +29,7 @@
#include "mdadm.h"
-char Version[] = Name " - v2.5.6 - 9 November 2006\n";
+char Version[] = Name " - v2.6 - 21 December 2006\n";
/*
* File: ReadMe.c
diff --git a/inventory b/inventory
index 74359ec9..39f9cbd8 100644
--- a/inventory
+++ b/inventory
@@ -14,6 +14,7 @@ ANNOUNCE-2.5.3
ANNOUNCE-2.5.4
ANNOUNCE-2.5.5
ANNOUNCE-2.5.6
+ANNOUNCE-2.6
Assemble.c
bitmap.c
bitmap.h
@@ -27,12 +28,17 @@ dlink.c
dlink.h
Examine.c
Grow.c
+Incremental.c
INSTALL
inventory
+kernel-patch-2.6.18
+kernel-patch-2.6.18.6
+kernel-patch-2.6.19
Kill.c
makedist
Makefile
Manage.c
+mapfile.c
md.4
md5.h
mdadm.8
@@ -102,6 +108,7 @@ tests/05r6-bitmapfile
tests/06name
tests/06r5swap
tests/06sysfs
+tests/06update-uuid
tests/06wrmostly
tests/07testreshape5
tests/check
diff --git a/mdadm.8 b/mdadm.8
index c00f5faf..2270c7d7 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 "" v2.5.6
+.TH MDADM 8 "" v2.6
.SH NAME
mdadm \- manage MD devices
.I aka
diff --git a/mdadm.spec b/mdadm.spec
index 3a92fb96..336b9b21 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: 2.5.6
+Version: 2.6
Release: 1
Source: http://www.cse.unsw.edu.au/~neilb/source/mdadm/mdadm-%{version}.tgz
URL: http://www.cse.unsw.edu.au/~neilb/source/mdadm/
diff --git a/mdassemble.8 b/mdassemble.8
index f7fb9b7b..13472f97 100644
--- a/mdassemble.8
+++ b/mdassemble.8
@@ -1,5 +1,5 @@
.\" -*- nroff -*-
-.TH MDASSEMBLE 8 "" v2.5.6
+.TH MDASSEMBLE 8 "" v2.6
.SH NAME
mdassemble \- assemble MD devices
.I aka
diff --git a/super0.c b/super0.c
index 8f328436..aeee0b7b 100644
--- a/super0.c
+++ b/super0.c
@@ -703,7 +703,6 @@ static int load_super0(struct supertype *st, int fd, void **sbp, char *devname)
* 1 on cannot get superblock
* 2 on superblock meaningless
*/
- unsigned long size;
unsigned long long dsize;
unsigned long long offset;
mdp_super_t *super;
@@ -715,8 +714,9 @@ static int load_super0(struct supertype *st, int fd, void **sbp, char *devname)
if (dsize < MD_RESERVED_SECTORS*512 * 2) {
if (devname)
- fprintf(stderr, Name ": %s is too small for md: size is %ld sectors.\n",
- devname, size);
+ fprintf(stderr, Name
+ ": %s is too small for md: size is %llu sectors.\n",
+ devname, dsize);
return 1;
}