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

raidtools on sparc



I cannot seem to get the raidtools working on a sparc.  I was hoping that
someone here could help out.  Before I start, let me note that I've been
using Debian with raidtools on several x86 machines for quite some time
without any troubles.

The machine is an Ultra 2 Enterprise (sun4u, SBUS, SCSI).  I've installed
Debian Potato onto a small portion of the drives and created equal sized
partitions on the remainder.  The partition tables look like this:

   Device Flag    Start       End    Blocks   Id  System
/dev/sda1             0        60     64800   83  Linux native
/dev/sda2  u         60       302    261360   82  Linux swap
/dev/sda3             0      3880   4190400    5  Whole disk
/dev/sda4           302      3880   3864240   83  Linux native

/dev/sdb1             0        60     64800   83  Linux native
/dev/sdb2            60       302    261360   83  Linux native
/dev/sdb3             0      3880   4190400    5  Whole disk
/dev/sdb4           302      3880   3864240   83  Linux native

/dev/sda4 and /dev/sdb4 were created for the raid device.  They are not
currently mounted, of course.  I ran mdcreate to setup /etc/mdtab with no
problems.  But when I try to "mdadd -ar" it doesn't work.  I've tried with
raid0, raid1, and linear.  I've tried different chunk sizes.  I've inserted
the raid modules before running mdadd.  Nothing works.  Doing an strace with
mdadd shows this:

open("/dev/sda4", O_RDONLY)             = 4
ioctl(4, BLKGETSIZE, 0xeffff7e4)        = 0
open("/dev/sdb4", O_RDONLY)             = 5
ioctl(5, BLKGETSIZE, 0xeffff7e4)        = 0
open("/dev/md0", O_RDONLY)              = 6
stat("/dev/sda4", {st_mode=S_IFBLK|0660, st_rdev=makedev(8, 4), ...}) = 0
ioctl(6, REGISTER_DEV, 0)               = -1 EINVAL (Invalid argument)
write(2, "/dev/sda4: Invalid argument\n", 28/dev/sda4: Invalid argument
) = 28
stat("/dev/sdb4", {st_mode=S_IFBLK|0660, st_rdev=makedev(8, 20), ...}) = 0
ioctl(6, REGISTER_DEV, 0)               = -1 EINVAL (Invalid argument)
write(2, "/dev/sdb4: Invalid argument\n", 28/dev/sdb4: Invalid argument
) = 28
ioctl(6, START_MD, 0x20003)             = -1 EINVAL (Invalid argument)
write(2, "/dev/md0: Invalid argument\n", 27/dev/md0: Invalid argument
) = 27
_llseek(0x3, 0, 0x4e, 0xeffff5b8, 0)    = 0
read(3, "", 8192)                       = 0
read(3, "", 8192)                       = 0
exit(3)                                 = ?

I'm also getting these messages in /var/log/messages:

sys32_ioctl: Unknown cmd fd(6) cmd(20000901) arg(00000000)
sys32_ioctl: Unknown cmd fd(6) cmd(20000901) arg(00000000)
sys32_ioctl: Unknown cmd fd(6) cmd(20000902) arg(00020003)

Can anyone point me in the right direction here?  I'd really appreciate it.



Reply to: