From 8431b2b2861d08b517468ae0f3ce2e3502d5ea94 Mon Sep 17 00:00:00 2001 From: Neil Brown Date: Fri, 26 Aug 2005 02:26:37 +0000 Subject: [PATCH] Getting ready for 2.0 release... Signed-off-by: Neil Brown --- ANNOUNCE-2.0 | 38 ++++++++++++++++++++++++++++++++++++++ Makefile | 5 +++-- ReadMe.c | 4 ++-- bitmap.c | 6 +++--- inventory | 15 +++++++++++++++ makedist | 10 +++++----- mdadm.8 | 2 +- mdadm.spec | 2 +- super1.c | 2 -- swap_super.c | 4 +++- tests/02r1grow | 2 +- tests/02r5grow | 2 +- tests/02r6grow | 2 +- 13 files changed, 74 insertions(+), 20 deletions(-) create mode 100644 ANNOUNCE-2.0 diff --git a/ANNOUNCE-2.0 b/ANNOUNCE-2.0 new file mode 100644 index 00000000..2200fe78 --- /dev/null +++ b/ANNOUNCE-2.0 @@ -0,0 +1,38 @@ +Subject: ANNOUNCE: mdadm 2.0 - A tool for managing Soft RAID under Linux + +I am (at last) please to announce the availability of + mdadm version 2.0 + +It is available at the usual places: + http://www.cse.unsw.edu.au/~neilb/source/mdadm/ +and + http://www.{countrycode}.kernel.org/pub/linux/utils/raid/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.0 contains a substantial rewrite of various pieces of +functionality, particularly the --create option. This enables support +for a new style of superblock - the version-1 superblock. +Version-1 can support many more than 28 devices and can be easily +moved between hosts with different endian-ness. +Release 2.0 also contains support for the recent bitmap-intent-logging +which will appear in 2.6.13, and the RAID1 write-behind that will be +available in 2.6.14. + +This release comes with a test-suite which has been used to verify that +mdadm-2.0 actually works in a number of common scenarios. Some of the +tests require a bleeding-edge kernel, so don't be surprised if some fail +on kernels prior to 2.6.14. + +Being a '.0' release, 2.0 should be treated with some caution. +However I believe it is quite stable and can safely be used on +production systems. + + +Development of mdadm has moved from CSE@UNSW and is now sponsored by + SUSE Labs, Novell Inc. + +NeilBrown 25th August 2005 + diff --git a/Makefile b/Makefile index 2360bf2e..05b653bd 100644 --- a/Makefile +++ b/Makefile @@ -73,7 +73,8 @@ endif all : mdadm mdadm.man md.man mdadm.conf.man -everything: all mdadm.static mdadm.tcc mdadm.uclibc mdassemble mdassemble.uclibc mdassemble.static mdassemble.man +everything: all mdadm.static mdadm.uclibc swap_super mdassemble mdassemble.uclibc mdassemble.static mdassemble.man +# mdadm.tcc doesn't work.. mdadm : $(OBJS) $(CC) $(LDFLAGS) -o mdadm $^ @@ -130,7 +131,7 @@ install : mdadm mdadm.8 md.4 mdadm.conf.5 clean : rm -f mdadm $(OBJS) core *.man mdadm.tcc mdadm.uclibc mdadm.static *.orig *.porig *.rej *.alt \ - mdassemble mdassemble.static mdassemble.uclibc mdassemble.klibc + mdassemble mdassemble.static mdassemble.uclibc mdassemble.klibc swap_super dist : clean ./makedist diff --git a/ReadMe.c b/ReadMe.c index 5dd9874a..579de44b 100644 --- a/ReadMe.c +++ b/ReadMe.c @@ -1,7 +1,7 @@ /* * mdadm - manage Linux "md" devices aka RAID arrays. * - * Copyright (C) 2001-2002 Neil Brown + * Copyright (C) 2001-2005 Neil Brown * * * This program is free software; you can redistribute it and/or modify @@ -29,7 +29,7 @@ #include "mdadm.h" -char Version[] = Name " - v2.0-devel-3 - DEVELOPMENT VERSION NOT FOR REGULAR USE - 4 August 2005\n"; +char Version[] = Name " - v2.0 - 25 August 2005\n"; /* * File: ReadMe.c diff --git a/bitmap.c b/bitmap.c index 36ecd958..716572c0 100644 --- a/bitmap.c +++ b/bitmap.c @@ -152,11 +152,11 @@ bitmap_info_t *bitmap_fd_read(int fd, int brief) */ total_bits = bitmap_bits(info->sb.sync_size, info->sb.chunksize); - while ((n = read(fd, buf, sizeof(*buf))) > 0) { + while ((n = read(fd, buf, sizeof(buf))) > 0) { unsigned long long remaining = total_bits - read_bits; - if (remaining > sizeof(*buf) * 8) /* we want the full buffer */ - remaining = sizeof(*buf) * 8; + if (remaining > sizeof(buf) * 8) /* we want the full buffer */ + remaining = sizeof(buf) * 8; if (remaining > n * 8) /* the file is truncated */ remaining = n * 8; dirty_bits += count_dirty_bits(buf, remaining); diff --git a/inventory b/inventory index 82de5f6c..8ff998f6 100644 --- a/inventory +++ b/inventory @@ -12,6 +12,7 @@ ANNOUNCE-1.7.0 ANNOUNCE-1.8.0 ANNOUNCE-1.8.1 ANNOUNCE-1.9.0 +ANNOUNCE-2.0 ANNOUNCE-2.0-devel-1 ANNOUNCE-2.0-devel-2 ANNOUNCE-2.0-devel-3 @@ -56,9 +57,11 @@ misc/syslog-events raid5extend.c super0.c super1.c +swap_super.c test tests/ tests/00linear +tests/00multipath tests/00raid0 tests/00raid1 tests/00raid10 @@ -73,11 +76,23 @@ tests/02r5grow tests/02r6grow tests/03r0assem tests/03r5assem +tests/03r5assemV1 tests/04r0update tests/04r1update tests/05r1-bitmapfile +tests/05r1-grow-external +tests/05r1-grow-internal tests/05r1-internalbitmap +tests/05r1-internalbitmap-v1a +tests/05r1-internalbitmap-v1b +tests/05r1-internalbitmap-v1c tests/05r1-n3-bitmapfile +tests/05r1-re-add +tests/05r1-re-add-nosuper +tests/06name +tests/06r5swap +tests/06sysfs +tests/06wrmostly tests/ToTest tests/check tests/testdev diff --git a/makedist b/makedist index 0a659ff7..efbe4592 100755 --- a/makedist +++ b/makedist @@ -44,18 +44,18 @@ then ls -l $target/$base if tar tzf $target/$base | sed 's,[^/]*/,,' | sort | diff -u inventory - then : correct files found - else echo "Extra files, or invertory is out-of-date" + else echo "Extra files, or inventory is out-of-date" rm $target/$base exit 1 fi - +exit 1 rpm -ta $target/$base find /home/neilb/src/RPM -name "*mdadm-$version-*" \ -exec cp {} $target/RPM \; - #cp ANNOUNCE-$version $target/ANNOUNCE - #cp ChangeLog $target/ChangeLog + cp ANNOUNCE-$version $target/ANNOUNCE + cp ChangeLog $target/ChangeLog scp $target/$base master.kernel.org:/pub/linux/utils/raid/mdadm/mdadm-$version.tar.gz - #scp $target/ANNOUNCE $target/ChangeLog master.kernel.org:/pub/linux/utils/raid/mdadm/ + scp $target/ANNOUNCE $target/ChangeLog master.kernel.org:/pub/linux/utils/raid/mdadm/ else if [ ! -f $target/$base ] then diff --git a/mdadm.8 b/mdadm.8 index e2e5598d..780dbc81 100644 --- a/mdadm.8 +++ b/mdadm.8 @@ -1,5 +1,5 @@ .\" -*- nroff -*- -.TH MDADM 8 "" v2.0-devel-3 +.TH MDADM 8 "" v2.0m .SH NAME mdadm \- manage MD devices .I aka diff --git a/mdadm.spec b/mdadm.spec index 3291a51a..9224384b 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.0-devel-3 +Version: 2.0 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/super1.c b/super1.c index d4e4f761..53de19bc 100644 --- a/super1.c +++ b/super1.c @@ -895,8 +895,6 @@ static int add_internal_bitmap1(struct supertype *st, void *sbv, int chunk, int bms->sync_size = __cpu_to_le64(size); bms->write_behind = __cpu_to_le32(write_behind); - - return 1; } diff --git a/swap_super.c b/swap_super.c index afcedf32..377a6da5 100644 --- a/swap_super.c +++ b/swap_super.c @@ -16,7 +16,9 @@ #define MD_NEW_SIZE_SECTORS(x) ((x & ~(MD_RESERVED_SECTORS - 1)) - MD_RESERVED_SECTORS) -main(int argc, char *argv[]) +extern long long lseek64(int, long long, int); + +int main(int argc, char *argv[]) { int fd, i; unsigned long size; diff --git a/tests/02r1grow b/tests/02r1grow index e187b0ae..3198052a 100644 --- a/tests/02r1grow +++ b/tests/02r1grow @@ -27,7 +27,7 @@ testdev $md0 1 $[size/2] 1 mdadm --grow $md0 --size max check resync check wait -testdev $md0 1 $[size-1] 1 +testdev $md0 1 $[size-1-64] 1 mdadm --grow $md0 --size $[size/2] check nosync diff --git a/tests/02r5grow b/tests/02r5grow index 47bc83eb..405129d7 100644 --- a/tests/02r5grow +++ b/tests/02r5grow @@ -27,7 +27,7 @@ testdev $md0 3 $[size/2] 128 mdadm --grow $md0 --size max check resync check wait -testdev $md0 3 $[size-1] 128 +testdev $md0 3 $[size-1-64] 128 mdadm --grow $md0 --size $[size/2] check nosync diff --git a/tests/02r6grow b/tests/02r6grow index 897f510c..fc4d660b 100644 --- a/tests/02r6grow +++ b/tests/02r6grow @@ -27,7 +27,7 @@ testdev $md0 2 $[size/2] 128 mdadm --grow $md0 --size max check resync check wait -testdev $md0 2 $[size-1] 128 +testdev $md0 2 $[size-1-64] 128 mdadm --grow $md0 --size $[size/2] check nosync -- 2.39.2