Release 2.6
This commit is contained in:
parent
8382f19bdc
commit
f8409e5478
76
ANNOUNCE-2.6
76
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.
|
||||
|
|
|
@ -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;
|
||||
|
|
2
ReadMe.c
2
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
|
||||
|
|
|
@ -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
|
||||
|
|
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 "" 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/
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
.\" -*- nroff -*-
|
||||
.TH MDASSEMBLE 8 "" v2.5.6
|
||||
.TH MDASSEMBLE 8 "" v2.6
|
||||
.SH NAME
|
||||
mdassemble \- assemble MD devices
|
||||
.I aka
|
||||
|
|
6
super0.c
6
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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue