linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* ANNOUNCE: mdadm 1.8.1 - A tool for managing Soft RAID under Linux - DEVELOPMENT version
@ 2004-11-05  3:15 Neil Brown
  2004-11-15 22:48 ` Luca Berra
  0 siblings, 1 reply; 2+ messages in thread
From: Neil Brown @ 2004-11-05  3:15 UTC (permalink / raw)
  To: linux-raid



I am pleased to announce the availability of 
   mdadm version 1.8.1
It is available at
   http://www.cse.unsw.edu.au/~neilb/source/mdadm/
and
   http://www.{countrycode}.kernel.org/pub/linux/utils/raid/mdadm/

as a source tar-ball and (at the first site) as an SRPM, and as an RPM for i386.

This is a "development" release of mdadm.  It should *not* be
considered stable and should be used primarily for testing.
The current "stable" version is 1.8.0.

Release 1.8.1 supports different styles of superblocks (aka RAID metadata).
Two formats are currently supported 
   version 0.90.0 - the traditional Linux RAID superblock
   version 1 - a new superblock which less useless information and some more 
        flexability.

Version 1 supports more than 28 devices in an array, and RAID1 and greater over
devices larger than 2TB (though a 2TB RAID1 would take forever to resync!).

mdadm 1.8.1 takes a different approach to creating arrays than
previous versions, though this is largely transparent.  Instead of
giving the devices to the kernel and letting it "create" the array and
write out initial superblocks, mdadm 1.8.1 writes out the initial
superblocks itself, thus creating the array, and then asks the kernel
to assemble that array.

Version 1 superblocks requires 2.6.10 or a recent 2.6.10-rc snapshot.

Enhancements that are expected before this becomes 2.0.0:

 - mdassemble currently doesn't compile
 - version 1 superblocks have room for a label, which currently isn't used.
   Setting the label, and assembling arrays by label will be supported.
   A label like "$HOSTNAME-root" could be the standard label for the device 
   containing the root filesystem for $HOSTNAME.


Development of mdadm is sponsored by CSE@UNSW: 
  The School of Computer Science and Engineering
at
  The University of New South Wales

NeilBrown  05 November 2004


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: ANNOUNCE: mdadm 1.8.1 - A tool for managing Soft RAID under Linux - DEVELOPMENT version
  2004-11-05  3:15 ANNOUNCE: mdadm 1.8.1 - A tool for managing Soft RAID under Linux - DEVELOPMENT version Neil Brown
@ 2004-11-15 22:48 ` Luca Berra
  0 siblings, 0 replies; 2+ messages in thread
From: Luca Berra @ 2004-11-15 22:48 UTC (permalink / raw)
  To: Neil Brown; +Cc: linux-raid

[-- Attachment #1: Type: text/plain, Size: 693 bytes --]

On Fri, Nov 05, 2004 at 02:15:31PM +1100, Neil Brown wrote:
>
>
>I am pleased to announce the availability of 
>   mdadm version 1.8.1
i am pleased to respond with some patches to mdadm 1.8.1 :)

1) resurrect mdassemble
2) fix a nasty bug with uninitialized struct mddev_ident_s.

i would also like some comments on:
3) switch from lseek64 to _FILE_OFFSET_BITS=64 and plain lseek
but please don't apply it yet, it makes mdassemle work on 64bit
dietlibc, which does not have lseek64, but breaks it on 32bit dietlibc
(ftw fails).

regards,
L.

-- 
Luca Berra -- bluca@comedia.it
        Communication Media & Services S.r.l.
 /"\
 \ /     ASCII RIBBON CAMPAIGN
  X        AGAINST HTML MAIL
 / \

[-- Attachment #2: mdadm-1.8.1-mdassemble-fix.patch --]
[-- Type: text/plain, Size: 1153 bytes --]

diff -urN mdadm-1.8.1/mdadm.h mdadm-1.8.1.1/mdadm.h
--- mdadm-1.8.1/mdadm.h	2004-11-14 12:22:31.633374737 +0100
+++ mdadm-1.8.1.1/mdadm.h	2004-11-14 12:34:37.176005933 +0100
@@ -39,12 +39,6 @@
 #include	<stdio.h>
 #include	<errno.h>
 #include	<string.h>
-#ifdef __dietlibc__NONO
-int strncmp(const char *s1, const char *s2, size_t n) __THROW __pure__;
-char *strncpy(char *dest, const char *src, size_t n) __THROW;
-#include    <strings.h>
-#endif
-
 
 #include	<linux/kdev_t.h>
 /*#include	<linux/fs.h> */
diff -urN mdadm-1.8.1/mdassemble.c mdadm-1.8.1.1/mdassemble.c
--- mdadm-1.8.1/mdassemble.c	2004-11-05 03:53:56.000000000 +0100
+++ mdadm-1.8.1.1/mdassemble.c	2004-11-14 12:29:59.251085547 +0100
@@ -32,6 +32,20 @@
 #include "md_p.h"
 
 /* from readme.c */
+mapping_t r5layout[] = {
+	{ "left-asymmetric", 0},
+	{ "right-asymmetric", 1},
+	{ "left-symmetric", 2},
+	{ "right-symmetric", 3},
+
+	{ "default", 2},
+	{ "la", 0},
+	{ "ra", 1},
+	{ "ls", 2},
+	{ "rs", 3},
+	{ NULL, 0}
+};
+
 mapping_t pers[] = {
 	{ "linear", -1},
 	{ "raid0", 0},
@@ -50,6 +64,7 @@
 	{ "6", 6},
 	{ "raid10", 10},
 	{ "10", 10},
+	{ "faulty", -5},
 	{ NULL, 0}
 };
 

[-- Attachment #3: mdadm-1.8.1-memset.patch --]
[-- Type: text/plain, Size: 933 bytes --]

--- mdadm-1.8.1/mdadm.c.bluca	2004-11-14 19:44:26.000000000 +0100
+++ mdadm-1.8.1/mdadm.c	2004-11-14 19:44:31.747309097 +0100
@@ -80,11 +80,10 @@
 
 	int mdfd = -1;
 
-	ident.uuid_set=0;
+	memset(&ident,0,sizeof(struct mddev_ident_s));
 	ident.level = UnSet;
 	ident.raid_disks = UnSet;
 	ident.super_minor= UnSet;
-	ident.devices=0;
 
 	while ((option_index = -1) ,
 	       (opt=getopt_long(argc, argv,
--- mdadm-1.8.1/config.c.bluca	2004-11-02 06:11:06.000000000 +0100
+++ mdadm-1.8.1/config.c	2004-11-14 19:44:35.693660204 +0100
@@ -266,15 +266,11 @@
 	struct mddev_ident_s mis;
 	mddev_ident_t mi;
 
-	mis.uuid_set = 0;
+	memset(&mis,0,sizeof(struct mddev_ident_s));
 	mis.super_minor = UnSet;
 	mis.level = UnSet;
 	mis.raid_disks = UnSet;
 	mis.spare_disks = UnSet;
-	mis.devices = NULL;
-	mis.devname = NULL;
-	mis.spare_group = NULL;
-	mis.autof = 0;
 
 	for (w=dl_next(line); w!=line; w=dl_next(w)) {
 		if (w[0] == '/') {

[-- Attachment #4: mdadm-1.8.1-lseek64.patch --]
[-- Type: text/plain, Size: 1788 bytes --]

diff -urN mdadm-1.8.1/mdadm.h mdadm-1.8.1.1/mdadm.h
--- mdadm-1.8.1/mdadm.h	2004-11-02 06:11:06.000000000 +0100
+++ mdadm-1.8.1.1/mdadm.h	2004-11-14 12:22:31.633374737 +0100
@@ -28,11 +28,8 @@
  */
 
 #define	__USE_LARGEFILE64
+#define	_FILE_OFFSET_BITS 64
 #include	<unistd.h>
-#ifndef __dietlibc__
-extern __off64_t lseek64 __P ((int __fd, __off64_t __offset, int __whence));
-#endif
-
 #include	<sys/types.h>
 #include	<sys/stat.h>
 #include	<stdlib.h>
diff -urN mdadm-1.8.1/super0.c mdadm-1.8.1.1/super0.c
--- mdadm-1.8.1/super0.c	2004-11-03 07:10:12.000000000 +0100
+++ mdadm-1.8.1.1/super0.c	2004-11-14 12:25:51.365232725 +0100
@@ -409,7 +409,7 @@
 
 	offset *= 512;
 
-	if (lseek64(fd, offset, 0)< 0LL)
+	if (lseek(fd, offset, 0)< 0LL)
 		return 3;
 
 	if (write(fd, super, sizeof(*super)) != sizeof(*super))
@@ -518,7 +518,7 @@
 
 	ioctl(fd, BLKFLSBUF, 0); /* make sure we read current data */
 
-	if (lseek64(fd, offset, 0)< 0LL) {
+	if (lseek(fd, offset, 0)< 0LL) {
 		if (devname)
 			fprintf(stderr, Name ": Cannot seek to superblock on %s: %s\n",
 				devname, strerror(errno));
diff -urN mdadm-1.8.1/super1.c mdadm-1.8.1.1/super1.c
--- mdadm-1.8.1/super1.c	2004-11-05 04:07:37.000000000 +0100
+++ mdadm-1.8.1.1/super1.c	2004-11-14 12:26:12.448733642 +0100
@@ -446,7 +446,7 @@
     
 	sb_offset = __le64_to_cpu(sb->super_offset) << 9;
 
-	if (lseek64(fd, sb_offset, 0)< 0LL)
+	if (lseek(fd, sb_offset, 0)< 0LL)
 		return 3;
 
 	sbsize = sizeof(*sb) + 2 * __le32_to_cpu(sb->max_dev);
@@ -644,7 +644,7 @@
 	ioctl(fd, BLKFLSBUF, 0); /* make sure we read current data */
 
 
-	if (lseek64(fd, sb_offset << 9, 0)< 0LL) {
+	if (lseek(fd, sb_offset << 9, 0)< 0LL) {
 		if (devname)
 			fprintf(stderr, Name ": Cannot seek to superblock on %s: %s\n",
 				devname, strerror(errno));

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2004-11-15 22:48 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-11-05  3:15 ANNOUNCE: mdadm 1.8.1 - A tool for managing Soft RAID under Linux - DEVELOPMENT version Neil Brown
2004-11-15 22:48 ` Luca Berra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).