Hi,

sorry that I bother the experts. I am very new in the RAID business and
tried to setup a large filesysten with three disks (2*18 GB + 1*9 GB SCSI,
Adaptec 2940 AU)  by using RAID linear. I used a fresh SuSE 6.1
distribution (kernel 2.2.5)  but built a new 2.2.10 kernel patched with
raid0145-19990713-2.2.10 and aic7xxx-5.1.19-2.2.10.patch. 

I followed the instructions in the Software-RAID HOWTO (Feb. 99)
but using the following /etc/raidtab

raiddev /dev/md0
        raid-level      linear
        nr-raid-disks   3
        persistent-superblock 1
        device          /dev/sdc1
        raid-disk       0
        device          /dev/sdd1
        raid-disk       1
        device          /dev/sde1
        raid-disk       2

I got the following error while initializing the array

# mkraid /dev/md0
handling MD device /dev/md0
analyzing super-block
disk 0: /dev/sdc1, 17920476kB, raid superblock at 17920384kB
disk 1: /dev/sdd1, 17920476kB, raid superblock at 17920384kB
disk 2: /dev/sde1, 8924076kB, raid superblock at 8923968kB
/dev/md0: Invalid argument

And /proc/mdstat says (sorry, not done directly but after testing with
RAID-0 and a following "mkraid --really-force /dev/md0"): 

# cat  /proc/mdstat 
Personalities : [linear] [raid0] 
read_ahead 1024 sectors
unused devices: <none>


I know other people reported similar problems but with older kernel and
raid patch versions. Additionally I found in /var/log/messages
the following (partially wrapped lines)

Jul 20 20:37:48 dino kernel: bind<sdc1,1>
Jul 20 20:37:48 dino kernel: no chunksize?
Jul 20 20:37:48 dino kernel: bind<sdd1,2>
Jul 20 20:37:48 dino kernel: no chunksize?
Jul 20 20:37:48 dino kernel: bind<sde1,3>
Jul 20 20:37:48 dino kernel: no chunksize?
Jul 20 20:37:48 dino kernel: sde1's event counter: 00000000
Jul 20 20:37:48 dino kernel: sdd1's event counter: 00000000
Jul 20 20:37:48 dino kernel: sdc1's event counter: 00000000
Jul 20 20:37:48 dino kernel: md: bug in file md.c, line 1570
Jul 20 20:37:48 dino kernel: 
Jul 20 20:37:48 dino kernel:        **********************************
Jul 20 20:37:48 dino kernel:        * <COMPLETE RAID STATE PRINTOUT> *
Jul 20 20:37:48 dino kernel:        **********************************
Jul 20 20:37:48 dino kernel: md0: <sde1><sdd1><sdc1> array superblock:
Jul 20 20:37:48 dino kernel:   SB: (V:0.90.0)
                                ID:<c5990f38.b39593a2.b4e05134.007
Jul 20 20:37:48 dino kernel:      L-1 S08923968 ND:3 RD:3 md0 LO:0 CS:0
Jul 20 20:37:48 dino kernel:      UT:00000000 ST:0 AD:3 WD:3 FD:0 SD:0
                                   CSUM:0fcd
Jul 20 20:37:48 dino kernel:      D  0:  DISK<N:0,sdc1(8,33),R:0,S:6>
Jul 20 20:37:48 dino kernel:      D  1:  DISK<N:1,sdd1(8,49),R:1,S:6>
Jul 20 20:37:48 dino kernel:      D  2:  DISK<N:2,sde1(8,65),R:2,S:6>
Jul 20 20:37:48 dino kernel:      D  3:  DISK<N:0,[dev00:00](0,0),R:0,S:0>
Jul 20 20:37:48 dino kernel:      D  4:  DISK<N:0,[dev00:00](0,0),R:0,S:0>
Jul 20 20:37:48 dino kernel:      D  5:  DISK<N:0,[dev00:00](0,0),R:0,S:0>
... lines deleted

Interesting may be the line "md: bug in file md.c, line 1570", here is
the corresponding source code:

1566         /*
1567          * chunk-size has to be a power of 2 and multiples of
                PAGE_SIZE
1568          */
1569         if ( (1 << ffz(~chunk_size)) != chunk_size) {
1570                 MD_BUG();
1571                 return -EINVAL;
1572         }

Must I specify "chunk-size" for RAID linear ?

A "mkraid" of an according RAID-0 array instead of RAID linear seems to be
successful (not really used):

# cat /proc/mdstat
Personalities : [linear] [raid0] 
read_ahead 1024 sectors
md0 : active raid0 sdd1[1] sdc1[0] 35840768 blocks 4k chunks
unused devices: <none>

Any ideas?

Jens

-- 
Dr. Jens Schleusener            debis Systemhaus
phone: +49 (551) 709-2493       Solutions for Research
fax:   +49 (551) 709-2169       Bunsenstr.10
mail: [EMAIL PROTECTED]   D-37073 Goettingen

Reply via email to