Re: Partitioned raid and major number

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thursday February 26, miquels@cistron.nl wrote:
> 
> Hmm, is there anyone who has > 128 MD devices on one system? If not, why not
> use the top 128 majors for, say, 8 MD devices each with 16 partitions ?
> Then the kernel command line option "md=0,/dev/sda,/dev/sdb,part" would create
> a partitionable md0 array. And if you don't add "part" things stay as they
> were with 256 MD majors.

Maybe there is someone with > 128 MD arrays.  There is no way to find
out except to break it and wait about a year or two.

I did consider having some partitionable and some non-partitionable
arrays under the one MAJOR.  It would be technically quite easy, but I
think it is conceptually harder to work with - the mapping from minor
number to device would not be what people have come to expect.

> > With it:
> >   If you put 
> >          raid=partitionable
> >   or just
> >          raid=part
> > as a kernel parameter, then all auto-detected raid arrays will be
> > partitionable, using the dynamically allocated major.
> > 
> > Also, if you use e.g. "md=0,/dev/sda,/dev/sdb" to assemble your arrays
> > at boot time, you can now use:
> >          "md=d0,/dev/sda,/dev/sdb"
> > to assemble as a partitionable array (so it will be /dev/md/d0 instead
> > of /dev/md0.  Hence the 'd').
> 
> I did exactly that on a server with /dev/sda and /dev/sdb (those are 2
> SATA disks through libata). Since /dev/sda contains the currently installed
> system I marked it as failed in /etc/raidtab before creating the array.
> 
> But it doesn't work.
> 
> # cat /proc/cmdline
> auto BOOT_IMAGE=Linux ro root=801 raid=partitionable md=d0,/dev/sda,/dev/sdb
> # ls /sys/block
> md0  sda  sdb
> # ls /sys/block/md0
> dev  range  size  stat
> # dmesg | grep md:
> md: Will configure md0 (super-block) from /dev/sda,/dev/sdb, below.
> md: raid1 personality registered as nr 3
> md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27
> md: Autodetecting RAID arrays.
> md: autorun ...
> md: ... autorun DONE.
> md: Loading md_d0: /dev/sda
> md: invalid raid superblock magic on sda
> md: sda has invalid sb, not importing!
> md: md_import_device returned -22
> md: bind<sdb>
> 
> Is it because the first disk is invalid ? That shouldn't happen,
> right?

Right.  I missed a bit in the patch.
(I assume you are still wanting to boot off /dev/sda until you copy
the data into /dev/md/d0p* - then you will use root=/dev/md_d0p1)

NeilBrown



 ----------- Diffstat output ------------
 ./init/do_mounts_md.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)

diff ./init/do_mounts_md.c~current~ ./init/do_mounts_md.c
--- ./init/do_mounts_md.c~current~	2004-02-26 10:15:07.000000000 +1100
+++ ./init/do_mounts_md.c	2004-02-27 11:20:14.000000000 +1100
@@ -134,7 +134,8 @@ static void __init md_setup_drive(void)
 
 		sprintf(name, "/dev/md%s%d", partitioned?"_d":"", minor);
 		sprintf(devfs_name, "/dev/md/%s%d", partitioned?"d":"", minor);
-		create_dev(name, MKDEV(MD_MAJOR, minor), devfs_name);
+		dev = name_to_dev_t(name);
+		create_dev(name, dev, devfs_name);
 		for (i = 0; i < MD_SB_DISKS && devname != 0; i++) {
 			char *p;
 			char comp_name[64];
-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux