diff options
-rw-r--r-- | ANNOUNCE-2.6 | 76 | ||||
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | Incremental.c | 1 | ||||
-rw-r--r-- | Monitor.c | 2 | ||||
-rw-r--r-- | ReadMe.c | 2 | ||||
-rw-r--r-- | inventory | 7 | ||||
-rw-r--r-- | mdadm.8 | 2 | ||||
-rw-r--r-- | mdadm.spec | 2 | ||||
-rw-r--r-- | mdassemble.8 | 2 | ||||
-rw-r--r-- | super0.c | 6 |
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. @@ -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, @@ -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; @@ -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 @@ -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 @@ -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 @@ -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 @@ -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; } |