summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2002-04-11 03:36:14 +0200
committerNeil Brown <neilb@suse.de>2002-04-11 03:36:14 +0200
commitb83d95f362ff41e5ce63baa3bbcf0a76ea1f15aa (patch)
tree0663f165bb9b4c94ed196a9e35b05ac2f5466e27
parentmdadm-0.8.1 (diff)
downloadmdadm-b83d95f362ff41e5ce63baa3bbcf0a76ea1f15aa.tar.xz
mdadm-b83d95f362ff41e5ce63baa3bbcf0a76ea1f15aa.zip
mdadm-0.8.2mdadm-0.8.2
-rw-r--r--ChangeLog5
-rw-r--r--Create.c10
-rw-r--r--Detail.c27
-rw-r--r--Examine.c16
-rw-r--r--Manage.c4
-rw-r--r--Monitor.c2
-rw-r--r--Query.c7
-rw-r--r--ReadMe.c18
-rw-r--r--TODO2
-rw-r--r--config.c4
-rw-r--r--mdadm.810
-rw-r--r--mdadm.c14
-rw-r--r--mdadm.conf.54
-rw-r--r--mdadm.spec4
-rw-r--r--util.c2
15 files changed, 74 insertions, 55 deletions
diff --git a/ChangeLog b/ChangeLog
index dc3d10e8..cc3081b1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,9 @@
Changes Prior to this release
+ - Correct spelling of persist[ae]nce/persist[ae]nt.
+ - Change "disk" to "device" in options and config file
+ - convert array size to "long long" *before* shift-left in -D and -Q
+
+Changes Prior to 0.8.1 release
- Add "INSTALL" file.
- Fix some "i" variables that were not being set properly
- Initialise minsize and maxsize so that compilers don't complain.
diff --git a/Create.c b/Create.c
index 7726de32..06b7aef2 100644
--- a/Create.c
+++ b/Create.c
@@ -77,22 +77,22 @@ int Create(char *mddev, int mdfd,
}
if (raiddisks < 1) {
fprintf(stderr,
- Name ": a number of --raid-disks must be given to create an array\n");
+ Name ": a number of --raid-devices must be given to create an array\n");
return 1;
}
if (raiddisks < 2 && level >= 4) {
fprintf(stderr,
- Name ": atleast 2 raid-disks needed for level 4 or 5\n");
+ Name ": atleast 2 raid-devices needed for level 4 or 5\n");
return 1;
}
if (raiddisks+sparedisks > MD_SB_DISKS) {
fprintf(stderr,
- Name ": too many discs requested: %d+%d > %d\n",
+ Name ": too many devices requested: %d+%d > %d\n",
raiddisks, sparedisks, MD_SB_DISKS);
return 1;
}
if (subdevs > raiddisks+sparedisks) {
- fprintf(stderr, Name ": You have listed more disks (%d) than are in the array(%d)!\n", subdevs, raiddisks+sparedisks);
+ fprintf(stderr, Name ": You have listed more devices (%d) than are in the array(%d)!\n", subdevs, raiddisks+sparedisks);
return 1;
}
if (subdevs < raiddisks+sparedisks) {
@@ -325,7 +325,7 @@ int Create(char *mddev, int mdfd,
}
fprintf(stderr, Name ": array %s started.\n", mddev);
} else {
- fprintf(stderr, Name ": not starting array - not enough discs.\n");
+ fprintf(stderr, Name ": not starting array - not enough devices.\n");
}
return 0;
}
diff --git a/Detail.c b/Detail.c
index 53203214..55e6eb0d 100644
--- a/Detail.c
+++ b/Detail.c
@@ -79,7 +79,7 @@ int Detail(char *dev, int brief)
/* Ok, we have some info to print... */
c = map_num(pers, array.level);
if (brief)
- printf("ARRAY %s level=%s disks=%d", dev, c?c:"-unknown-",array.raid_disks );
+ printf("ARRAY %s level=%s num-devices=%d", dev, c?c:"-unknown-",array.raid_disks );
else {
unsigned long array_size;
unsigned long long larray_size;
@@ -88,8 +88,11 @@ int Detail(char *dev, int brief)
;
else
#endif
- if (ioctl(fd, BLKGETSIZE, &array_size)==0)
- larray_size = array_size<<9;
+ if (ioctl(fd, BLKGETSIZE, &array_size)==0) {
+ larray_size = array_size;
+ larray_size <<= 9;
+ }
+
else larray_size = 0;
printf("%s:\n", dev);
@@ -102,10 +105,10 @@ int Detail(char *dev, int brief)
printf(" Array Size : %ld%s\n", (long)(larray_size>>10), human_size(larray_size));
if (array.level >= 1)
printf(" Device Size : %d%s\n", array.size, human_size((long long)array.size<<10));
- printf(" Raid Disks : %d\n", array.raid_disks);
- printf(" Total Disks : %d\n", array.nr_disks);
+ printf(" Raid Devices : %d\n", array.raid_disks);
+ printf(" Total Devices : %d\n", array.nr_disks);
printf("Preferred Minor : %d\n", array.md_minor);
- printf(" Persistance : Superblock is %spersistant\n",
+ printf(" Persistence : Superblock is %spersistent\n",
array.not_persistent?"not ":"");
printf("\n");
atime = array.utime;
@@ -113,10 +116,10 @@ int Detail(char *dev, int brief)
printf(" State : %s, %serrors\n",
(array.state&(1<<MD_SB_CLEAN))?"clean":"dirty",
(array.state&(1<<MD_SB_ERRORS))?"":"no-");
- printf(" Active Drives : %d\n", array.active_disks);
- printf(" Working Drives : %d\n", array.working_disks);
- printf(" Failed Drives : %d\n", array.failed_disks);
- printf(" Spare Drives : %d\n", array.spare_disks);
+ printf(" Active Devices : %d\n", array.active_disks);
+ printf("Working Devices : %d\n", array.working_disks);
+ printf(" Failed Devices : %d\n", array.failed_disks);
+ printf(" Spare Devices : %d\n", array.spare_disks);
printf("\n");
if (array.level == 5) {
c = map_num(r5layout, array.layout);
@@ -135,7 +138,7 @@ int Detail(char *dev, int brief)
}
printf("\n");
- printf(" Number Major Minor RaidDisk State\n");
+ printf(" Number Major Minor RaidDevice State\n");
}
for (d= 0; d<MD_SB_DISKS; d++) {
mdu_disk_info_t disk;
@@ -143,7 +146,7 @@ int Detail(char *dev, int brief)
disk.number = d;
if (ioctl(fd, GET_DISK_INFO, &disk) < 0) {
if (d < array.raid_disks)
- fprintf(stderr, Name ": cannot get disk detail for disk %d: %s\n",
+ fprintf(stderr, Name ": cannot get device detail for device %d: %s\n",
d, strerror(errno));
continue;
}
diff --git a/Examine.c b/Examine.c
index 961d60ed..2bc3806a 100644
--- a/Examine.c
+++ b/Examine.c
@@ -145,8 +145,8 @@ int Examine(mddev_dev_t devlist, int brief, int scan)
c=map_num(pers, super.level);
printf(" Raid Level : %s\n", c?c:"-unknown-");
printf(" Device Size : %d%s\n", super.size, human_size((long long)super.size<<10));
- printf(" Raid Disks : %d\n", super.raid_disks);
- printf(" Total Disks : %d\n", super.nr_disks);
+ printf(" Raid Devices : %d\n", super.raid_disks);
+ printf(" Total Devices : %d\n", super.nr_disks);
printf("Preferred Minor : %d\n", super.md_minor);
printf("\n");
atime = super.utime;
@@ -154,10 +154,10 @@ int Examine(mddev_dev_t devlist, int brief, int scan)
printf(" State : %s, %serrors\n",
(super.state&(1<<MD_SB_CLEAN))?"clean":"dirty",
(super.state&(1<<MD_SB_ERRORS))?"":"no-");
- printf(" Active Drives : %d\n", super.active_disks);
- printf(" Working Drives : %d\n", super.working_disks);
- printf(" Failed Drives : %d\n", super.failed_disks);
- printf(" Spare Drives : %d\n", super.spare_disks);
+ printf(" Active Devices : %d\n", super.active_disks);
+ printf("Working Devices : %d\n", super.working_disks);
+ printf(" Failed Devices : %d\n", super.failed_disks);
+ printf(" Spare Devices : %d\n", super.spare_disks);
if (calc_sb_csum(&super) == super.sb_csum)
printf(" Checksum : %x - correct\n", super.sb_csum);
else
@@ -180,7 +180,7 @@ int Examine(mddev_dev_t devlist, int brief, int scan)
default: break;
}
printf("\n");
- printf(" Number Major Minor RaidDisk State\n");
+ printf(" Number Major Minor RaidDevice State\n");
for (d= -1; d<(signed int)(super.raid_disks+super.spare_disks); d++) {
mdp_disk_t *dp;
char *dv;
@@ -206,7 +206,7 @@ int Examine(mddev_dev_t devlist, int brief, int scan)
char sep='=';
char *c=map_num(pers, ap->super.level);
char *d;
- printf("ARRAY /dev/md%d level=%s disks=%d UUID=",
+ printf("ARRAY /dev/md%d level=%s num-devices=%d UUID=",
ap->super.md_minor, c?c:"-unknown-", ap->super.raid_disks);
if (ap->super.minor_version >= 90)
printf("%08x:%08x:%08x:%08x", ap->super.set_uuid0, ap->super.set_uuid1,
diff --git a/Manage.c b/Manage.c
index 6e657cf6..34076cbf 100644
--- a/Manage.c
+++ b/Manage.c
@@ -190,7 +190,7 @@ int Manage_subdevs(char *devname, int fd,
disc.major = MAJOR(stb.st_rdev);
disc.minor = MINOR(stb.st_rdev);
if (ioctl(fd,ADD_NEW_DISK, &disc)) {
- fprintf(stderr, Name ": add new disk failed for %s: %s\n",
+ fprintf(stderr, Name ": add new device failed for %s: %s\n",
dv->devname, strerror(errno));
return 1;
}
@@ -211,7 +211,7 @@ int Manage_subdevs(char *devname, int fd,
case 'f': /* set faulty */
/* FIXME check current member */
if (ioctl(fd, SET_DISK_FAULTY, (unsigned long) stb.st_rdev)) {
- fprintf(stderr, Name ": set disk faulty failed for %s: %s\n",
+ fprintf(stderr, Name ": set device faulty failed for %s: %s\n",
dv->devname, strerror(errno));
return 1;
}
diff --git a/Monitor.c b/Monitor.c
index 32181e45..fa0d7088 100644
--- a/Monitor.c
+++ b/Monitor.c
@@ -378,7 +378,7 @@ static void alert(char *event, char *dev, char *disc, char *mailaddr, char *cmd)
fprintf(mp, "A %s event had been detected on md device %s.\n\n", event, dev);
if (disc)
- fprintf(mp, "It could be related to sub-device %s.\n\n", disc);
+ fprintf(mp, "It could be related to componenet device %s.\n\n", disc);
fprintf(mp, "Faithfully yours, etc.\n");
fclose(mp);
diff --git a/Query.c b/Query.c
index c65d83a0..ea5bca6e 100644
--- a/Query.c
+++ b/Query.c
@@ -71,9 +71,10 @@ int Query(char *dev)
;
else
#endif
- if (ioctl(fd, BLKGETSIZE, &array_size)==0)
- larray_size = array_size<<9;
- else larray_size = 0;
+ if (ioctl(fd, BLKGETSIZE, &array_size)==0) {
+ larray_size = array_size;
+ larray_size <<= 9;
+ } else larray_size = 0;
}
close(fd);
diff --git a/ReadMe.c b/ReadMe.c
index 01a199f5..a46307cf 100644
--- a/ReadMe.c
+++ b/ReadMe.c
@@ -29,7 +29,7 @@
#include "mdadm.h"
-char Version[] = Name " - v0.8.1 - 6 April 2002\n";
+char Version[] = Name " - v0.8.2 - 11 April 2002\n";
/*
* File: ReadMe.c
*
@@ -115,7 +115,9 @@ struct option long_options[] = {
{"parity", 1, 0, 'p'}, /* {left,right}-{a,}symetric */
{"layout", 1, 0, 'p'},
{"raid-disks",1, 0, 'n'},
+ {"raid-devices",1, 0, 'n'},
{"spare-disks",1,0, 'x'},
+ {"spare-devices",1,0, 'x'},
{"size" ,1, 0, 'z'},
/* For assemble */
@@ -195,8 +197,8 @@ char Help[] =
" --level= -l : raid level: 0,1,4,5,linear,mp. 0 or linear for build\n"
" --paritiy= -p : raid5 parity algorith: {left,right}-{,a}symmetric\n"
" --layout= : same as --parity\n"
-" --raid-disks= -n : number of active devices in array\n"
-" --spare-disks= -x : number of spares (eXtras) devices in initial array\n"
+" --raid-devices= -n : number of active devices in array\n"
+" --spare-devices= -x: number of spares (eXtras) devices in initial array\n"
" --size= -z : Size (in K) of each drive in RAID1/4/5 - optional\n"
" --force -f : Honour devices as listed on command line. Don't\n"
" : insert a missing drive for RAID5.\n"
@@ -233,7 +235,7 @@ char Help[] =
*/
char Help_create[] =
-"Usage: mdadm --create device -chunk=X --level=Y --raid-disks=Z devices\n"
+"Usage: mdadm --create device -chunk=X --level=Y --raid-devices=Z devices\n"
"\n"
" This usage will initialise a new md array and associate some\n"
" devices with it. If enough devices are given to complete the array,\n"
@@ -259,8 +261,8 @@ char Help_create[] =
" --level= -l : raid level: 0,1,4,5,linear,multipath and synonyms\n"
" --paritiy= -p : raid5 parity algorith: {left,right}-{,a}symmetric\n"
" --layout= : same as --parity\n"
-" --raid-disks= -n : number of active devices in array\n"
-" --spare-disks= -x : number of spares (eXtras) devices in initial array\n"
+" --raid-devices= -n : number of active devices in array\n"
+" --spare-devices= -x: number of spares (eXtras) devices in initial array\n"
" --size= -z : Size (in K) of each drive in RAID1/4/5 - optional\n"
" --force -f : Honour devices as listed on command line. Don't\n"
" : insert a missing drive for RAID5.\n"
@@ -271,7 +273,7 @@ char Help_create[] =
;
char Help_build[] =
-"Usage: mdadm --build device -chunk=X --level=Y --raid-disks=Z devices\n"
+"Usage: mdadm --build device -chunk=X --level=Y --raid-devices=Z devices\n"
"\n"
" This usage is similar to --create. The difference is that it creates\n"
" a legacy array without a superblock. With these arrays there is no\n"
@@ -285,7 +287,7 @@ char Help_build[] =
" --chunk= -c : chunk size of kibibytes\n"
" --rounding= : rounding factor for linear array (==chunck size)\n"
" --level= -l : 0, raid0, or linear\n"
-" --raid-disks= -n : number of active devices in array\n"
+" --raid-devices= -n : number of active devices in array\n"
;
char Help_assemble[] =
diff --git a/TODO b/TODO
index 860f9c73..1ab1d030 100644
--- a/TODO
+++ b/TODO
@@ -1,4 +1,6 @@
+Document "missing"
+
?? Allow -S /dev/md? - current complains subsequent not a/d/r - DONE
diff --git a/config.c b/config.c
index abb72c14..eef32480 100644
--- a/config.c
+++ b/config.c
@@ -29,6 +29,7 @@
#include "mdadm.h"
#include "dlink.h"
+#include <sys/dir.h>
#include <glob.h>
#include <fnmatch.h>
@@ -285,6 +286,9 @@ void arrayline(char *line)
} else if (strncasecmp(w, "disks=", 6) == 0 ) {
/* again, for compat */
mis.raid_disks = atoi(w+6);
+ } else if (strncasecmp(w, "num-devices=", 12) == 0 ) {
+ /* again, for compat */
+ mis.raid_disks = atoi(w+12);
} else {
fprintf(stderr, Name ": unrecognised word on ARRAY line: %s\n",
w);
diff --git a/mdadm.8 b/mdadm.8
index 30b5d53f..e02f3030 100644
--- a/mdadm.8
+++ b/mdadm.8
@@ -209,12 +209,12 @@ Set raid5 parity algorithm. Options are:
same as --parity
.TP
-.BR -n ", " --raid-disks=
+.BR -n ", " --raid-devices=
number of active devices in array.
.TP
-.BR -x ", " --spare-disks=
-number of spare (eXtra) disks in initial array. Spares can be added
+.BR -x ", " --spare-devices=
+number of spare (eXtra) devices in initial array. Spares can be added
and removed later.
.TP
@@ -381,7 +381,7 @@ Usage:
.I device
.BI --chunk= X
.BI --level= Y
-.BI --raid-disks= Z
+.BI --raid-devices= Z
.I devices
.PP
@@ -404,7 +404,7 @@ Usage:
.BI --chunk= X
.BI --level= Y
.br
-.BI --raid-disks= Z
+.BI --raid-devices= Z
.I devices
.PP
diff --git a/mdadm.c b/mdadm.c
index 8f8cf52b..2ca1b4bf 100644
--- a/mdadm.c
+++ b/mdadm.c
@@ -267,7 +267,7 @@ int main(int argc, char *argv[])
exit(2);
}
if (sparedisks > 0 && level < 1 && level >= -1) {
- fprintf(stderr, Name ": raid level %s is incompatible with spare-disks setting.\n",
+ fprintf(stderr, Name ": raid level %s is incompatible with spare-devices setting.\n",
optarg);
exit(2);
}
@@ -303,13 +303,13 @@ int main(int argc, char *argv[])
case O(CREATE,'n'):
case O(BUILD,'n'): /* number of raid disks */
if (raiddisks) {
- fprintf(stderr, Name ": raid-disks set twice: %d and %s\n",
+ fprintf(stderr, Name ": raid-devices set twice: %d and %s\n",
raiddisks, optarg);
exit(2);
}
raiddisks = strtol(optarg, &c, 10);
if (!optarg[0] || *c || raiddisks<=0 || raiddisks > MD_SB_DISKS) {
- fprintf(stderr, Name ": invalid number of raid disks: %s\n",
+ fprintf(stderr, Name ": invalid number of raid devices: %s\n",
optarg);
exit(2);
}
@@ -318,18 +318,18 @@ int main(int argc, char *argv[])
case O(CREATE,'x'): /* number of spare (eXtra) discs */
if (sparedisks) {
- fprintf(stderr,Name ": spare-disks set twice: %d and %s\n",
+ fprintf(stderr,Name ": spare-devices set twice: %d and %s\n",
sparedisks, optarg);
exit(2);
}
if (level > -10 && level <= 0 && level >= -1) {
- fprintf(stderr, Name ": spare-disks setting is incompatible with raid level %d\n",
+ fprintf(stderr, Name ": spare-devices setting is incompatible with raid level %d\n",
level);
exit(2);
}
sparedisks = strtol(optarg, &c, 10);
if (!optarg[0] || *c || sparedisks < 0 || sparedisks > MD_SB_DISKS - raiddisks) {
- fprintf(stderr, Name ": invalid number of spare disks: %s\n",
+ fprintf(stderr, Name ": invalid number of spare-devices: %s\n",
optarg);
exit(2);
}
@@ -595,7 +595,7 @@ int main(int argc, char *argv[])
fprintf(stderr, Name ": No devices listed in %s\n", configfile?configfile:DefaultConfFile);
exit(1);
}
- rv = Examine(devlist, devlist?brief:!verbose, scan);
+ rv = Examine(devlist, scan?!verbose:brief, scan);
} else {
if (devlist == NULL) {
if ((devmode == 'S' ||devmode=='D') && scan) {
diff --git a/mdadm.conf.5 b/mdadm.conf.5
index 72717e71..e45ad8cc 100644
--- a/mdadm.conf.5
+++ b/mdadm.conf.5
@@ -90,8 +90,8 @@ identify an array, but is supported so that the output of
can be use directly in the configuration file.
.TP
-.B disks=
-The value is the number of disks in a complete active array. As with
+.B num-devices=
+The value is the number of devices in a complete active array. As with
.B level=
this is mainly for compatibility with the output of
diff --git a/mdadm.spec b/mdadm.spec
index 9acffe97..c662aa0d 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: 0.8.1
+Version: 0.8.2
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/
@@ -20,6 +20,8 @@ some common tasks).
%prep
%setup -q
+# we want to install in /sbin, not /usr/sbin...
+%define _exec_prefix %{nil}
%build
# This is a debatable issue. The author of this RPM spec file feels that
diff --git a/util.c b/util.c
index 9d94c6ac..f818eabc 100644
--- a/util.c
+++ b/util.c
@@ -317,7 +317,7 @@ int check_raid(int fd, char *name)
fprintf(stderr, Name ": %s appear to be part of a raid array:\n",
name);
crtime = super.ctime;
- fprintf(stderr, " level=%d disks=%d ctime=%s",
+ fprintf(stderr, " level=%d devices=%d ctime=%s",
super.level, super.raid_disks, ctime(&crtime));
return 1;
}