Barak, you mentioned on Sat, 03 Mar 2007 02:22:18 +0000 that you were seeing success with a stock Debian kernel.

I can report that it fails under at least some conditions, on my freshly-installed system of etch (netinst 40r1) using a stock Debian kernel, though nearly a year later. Mirroring your post:

$ uname -srvmo

Linux 2.6.18-5-686 #1 SMP Sat Dec 1 22:58:58 UTC 2007 i686 GNU/Linux

$ ls -l /dev/dpt*

ls: No match.

$ ls -l /dev/i2o/* /dev/i2octl

crw-rw---- 1 root root 10, 166 2007-12-16 14:15 /dev/i2octl
brw-rw---- 1 root disk 80,   0 2007-12-16 14:15 /dev/i2o/hda
brw-rw---- 1 root disk 80,   1 2007-12-16 14:15 /dev/i2o/hda1
brw-rw---- 1 root disk 80,   2 2007-12-16 14:15 /dev/i2o/hda2
brw-rw---- 1 root disk 80,   3 2007-12-16 14:15 /dev/i2o/hda3
brw-rw---- 1 root disk 80,   5 2007-12-16 14:15 /dev/i2o/hda5

$ lsmod | egrep i2o

i2o_config             10316  0
i2o_block              12300  4
i2o_core               37400  2 i2o_config,i2o_block

$ mount | egrep i2o

/dev/i2o/hda1 on / type ext3 (rw,errors=remount-ro)
/dev/i2o/hda3 on /boot type ext3 (rw)

But:

$ sudo raidutil -L controller

Engine connect failed: Open


---

Now, I installed this system from scratch the other day, from the stock netinst CD, and raidutil worked for me the first time. I since re-installed it, after modifying /boot/initrd.img-2.6.18-5-686 to blacklist i2o_block and i2o_core because d-i was using /dev/sd* instead of /dev/i2o/hd*. (Google turned up this workaround.) Since then, based on things I read in this bug, I put things back: modified /etc/modprobe.d/blacklist to remove i2o_block and i2o_core, and to now blacklist dpt_i2o instead; added i2o_config to /etc/modules, re-ran "update-initramfs -u" and fixed /boot/grub/menu.lst and /etc/fstab to refer to the /dev/i2o/hd* devices. The system boots and runs fine with i2o_block et al, but raidutil is still unhappy. In fact:

$ sudo raideng /VERBOSE
Segmentation fault (core dumped)
$ sudo gdb /usr/bin/raideng core
GNU gdb 6.4.90-debian
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...(no debugging symbols found)
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".


warning: Can't read pathname for load map: Input/output error.
Reading symbols from /usr/lib/libraidutil.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libraidutil.so.0
Reading symbols from /usr/lib/libstdc++.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libstdc++.so.6
Reading symbols from /lib/tls/i686/cmov/libm.so.6...
(no debugging symbols found)...done.
Loaded symbols for /lib/tls/i686/cmov/libm.so.6
Reading symbols from /lib/libgcc_s.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libgcc_s.so.1
Reading symbols from /lib/tls/i686/cmov/libc.so.6...
(no debugging symbols found)...done.
Loaded symbols for /lib/tls/i686/cmov/libc.so.6
Reading symbols from /lib/ld-linux.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/ld-linux.so.2

(no debugging symbols found)
Core was generated by `raideng /VERBOSE'.
Program terminated with signal 11, Segmentation fault.
#0  0x00000000 in ?? ()
(gdb) backtrace
#0  0x00000000 in ?? ()
(gdb)

OK....

$ sudo strace raideng /VERBOSE /NOKILL
execve("/usr/bin/raideng", ["raideng", "/VERBOSE", "/NOKILL"], [/* 11 vars */]) = 0
uname({sys="Linux", node="omission", ...}) = 0
brk(0)                                  = 0x807b000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f74000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f73000
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=10489, ...}) = 0
mmap2(NULL, 10489, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f70000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/usr/lib/libraidutil.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360/\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=31028, ...}) = 0
mmap2(NULL, 34308, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f67000 mmap2(0xb7f6f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7) = 0xb7f6f000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/usr/lib/libstdc++.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\310\3"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=909044, ...}) = 0
mmap2(NULL, 935588, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7e82000 mmap2(0xb7f5c000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xd9) = 0xb7f5c000 mmap2(0xb7f61000, 22180, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f61000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/cmov/libm.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`3\0\000"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=145136, ...}) = 0
mmap2(NULL, 147584, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7e5d000 mmap2(0xb7e80000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22) = 0xb7e80000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/libgcc_s.so.1", O_RDONLY)    = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240\30"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=41096, ...}) = 0
mmap2(NULL, 44292, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7e52000 mmap2(0xb7e5c000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9) = 0xb7e5c000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/cmov/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240O\1"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=1241392, ...}) = 0
mmap2(NULL, 1247388, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7d21000 mmap2(0xb7e48000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x127) = 0xb7e48000 mmap2(0xb7e4f000, 10396, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7e4f000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7d20000 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7d1f000
mprotect(0xb7e48000, 20480, PROT_READ)  = 0
mprotect(0xb7f5c000, 12288, PROT_READ)  = 0
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7d1f6c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
munmap(0xb7f70000, 10489)               = 0
brk(0)                                  = 0x807b000
brk(0x809c000)                          = 0x809c000
gettimeofday({1197838690, 423766}, NULL) = 0
getpid()                                = 2328
lstat64("/tmp/raideng.lOQ6v0", 0xbfe241fc) = -1 ENOENT (No such file or directory)
open("/tmp/raideng.lOQ6v0", O_WRONLY|O_CREAT|O_EXCL, 027770457317) = 3
write(3, "2328\n", 5)                   = 5
close(3)                                = 0
link("/tmp/raideng.lOQ6v0", "/tmp/raideng.LOCK") = 0
unlink("/tmp/raideng.lOQ6v0")           = 0
open("/dev/i2octl", O_RDONLY)           = 3
ioctl(3, I2OGETIOPS, 0xbfe24278)        = 0
close(3)                                = 0
open("/dev/dpti0", O_RDONLY) = -1 ENOENT (No such file or directory) open("/dev/dpti1", O_RDONLY) = -1 ENOENT (No such file or directory) open("/dev/dpti2", O_RDONLY) = -1 ENOENT (No such file or directory) open("/dev/dpti3", O_RDONLY) = -1 ENOENT (No such file or directory) open("/dev/dpti4", O_RDONLY) = -1 ENOENT (No such file or directory) open("/dev/dpti5", O_RDONLY) = -1 ENOENT (No such file or directory) open("/dev/dpti6", O_RDONLY) = -1 ENOENT (No such file or directory) open("/dev/dpti7", O_RDONLY) = -1 ENOENT (No such file or directory) open("/dev/dpti8", O_RDONLY) = -1 ENOENT (No such file or directory) open("/dev/dpti9", O_RDONLY) = -1 ENOENT (No such file or directory) open("/dev/dpti10", O_RDONLY) = -1 ENOENT (No such file or directory) open("/dev/dpti11", O_RDONLY) = -1 ENOENT (No such file or directory) open("/dev/dpti12", O_RDONLY) = -1 ENOENT (No such file or directory) open("/dev/dpti13", O_RDONLY) = -1 ENOENT (No such file or directory) open("/dev/dpti14", O_RDONLY) = -1 ENOENT (No such file or directory) open("/dev/dpti15", O_RDONLY) = -1 ENOENT (No such file or directory) open("/dev/dpti16", O_RDONLY) = -1 ENOENT (No such file or directory) open("/dev/dpti17", O_RDONLY) = -1 ENOENT (No such file or directory)
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV (core dumped) +++
Process 2328 detached

That's about as far as I can take it in that direction. It's something fairly subtle, and just switching to i2o_config and friends isn't _quite_ enough. (That's a bug, IMO. If it threw a meaningful error instead, pointing at the thing that needed fixing, that would be swell.)

On yet another machine (this time at my colo), I had a failure yesterday, and success today! It looked like this a minute ago:

[EMAIL PROTECTED]:~$ sudo raidutil -L controller
Engine connect failed: COMPATIBILITY number
[EMAIL PROTECTED]:~$ sudo raideng /VERBOSE /NOKILL

There Appears To Be Another Copy Of dpteng Already Running!
[EMAIL PROTECTED]:~$ ps auxww|grep raid
root 2196 0.0 0.0 2904 564 ? Ss 02:08 0:00 /usr/bin/raideng
jxh       4353  0.0  0.0   2852   704 pts/0    R+   12:59   0:00 grep raid
[EMAIL PROTECTED]:~$ sudo kill 2196

That didn't do it.  Had to "kill -9".  But then!

[EMAIL PROTECTED]:~$ sudo kill -9 2196
[EMAIL PROTECTED]:~$ !ps
ps auxww|grep raid
jxh       4364  0.0  0.0   2848   700 pts/0    R+   12:59   0:00 grep raid
[EMAIL PROTECTED]:~$ !?util
sudo raidutil -L controller
#  b0 b1 b2  Controller     Cache  FW    NVRAM     Serial     Status
---------------------------------------------------------------------------
d0 -- --     ADAP3200S      16MB   3B0A  MIR V1.0  EA0B10213YWOptimal

It works! And this on a system that's using sd* and dpt_i2o, with i2o_{block,core} still blacklisted in initrd:

[EMAIL PROTECTED]:~$ lsmod | egrep i2o
dpt_i2o                27900  6
scsi_mod 124168 5 sd_mod,sym53c8xx,dpt_i2o,aic7xxx,scsi_transport_spi
[EMAIL PROTECTED]:~$ ls -l /dev/dpt*
crw-r--r-- 1 root root 151,  0 2007-12-16 02:22 /dev/dpti0
crw-r--r-- 1 root root 151, 16 2007-12-16 02:23 /dev/dpti17
crw-r--r-- 1 root root 151,  6 2007-12-16 02:22 /dev/dpti7

(I had made those manually.)

[EMAIL PROTECTED]:~$ mount | egrep i2o
[EMAIL PROTECTED]:~$ mount | egrep sd
/dev/sda2 on / type ext3 (rw,errors=remount-ro)
/dev/sda1 on /boot type ext3 (rw)
/dev/sda7 on /private type ext3 (rw)
/dev/sda5 on /usr type ext3 (rw)
/dev/sda6 on /var type ext3 (rw)
[EMAIL PROTECTED]:~$

So that's something. If you're running dpt_i2o and you have to mknod /dev/dpti17 et al, be sure to clobber and restart the raideng, but good. On a system using i2o_block+i2o_core, I dunno. YMMV/HTH.



--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to