Package: raidutils
Version: 0.0.6-3

I'm running the raidutils package on a fresh Etch/amd64 install.

Using the etch-kernel '2.6.18-5-amd64', the raideng doesn't seem to
detect any i2o controllers at all:

---cut
anders3:~# raideng /VERBOSE

osdOpenEngine  : 08/31/107-15:10:18  Return = 0 - 0 hbas found
osdCreateSemaphore   : Rtn = 5354b0
dpteng Is Ready.
---cut

However, the install is on a RAID1 on that i2o controller and
/proc/i2o/iop0/status also states that I'm running
an "OPERATIONAL" ADAPTEC 2015S:

---cut
Organization ID        : 0x001b
IOP ID                 : 0xfff
Host Unit ID           : 0x0000
Segment Number         : 0x000
I2O version            : 1.5
IOP State              : OPERATIONAL
Messenger Type         : Memory mapped
Inbound Frame Size     : 512 bytes
Max Inbound Frames     : 256
Current Inbound Frames : 256
Max Outbound Frames    : 256
Product ID             : ADAPTEC 2015S           
Expected LCT Size      : 3702 bytes
IOP Capabilities
    Context Field Size Support : Supports only 32-bit context fields
    Current Context Field Size : not configured
    Inbound Peer Support       : Not supported
    Outbound Peer Support      : Not supported
    Peer to Peer Support       : Not supported
Desired private memory size   : 0 kB
Allocated private memory size : 0 kB
Private memory base address   : 0x00000000
Desired private I/O size      : 0 kB
Allocated private I/O size    : 0 kB
Private I/O base address      : 0x00000000
---cut

anders3:~# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/i2o/hda1         486M  116M  344M  26% /
tmpfs                 2.0G     0  2.0G   0% /lib/init/rw
udev                   10M   56K   10M   1% /dev
tmpfs                 2.0G     0  2.0G   0% /dev/shm
/dev/shm              2.0G  4.0K  2.0G   1% /tmp
/dev/i2o/hda5         2.0G  712M  1.3G  36% /usr
/dev/i2o/hda6         3.9G   68M  3.9G   2% /var

When using a self-customized current kernel 2.6.22.5, the system also
works and raideng detects a hba:

---cut
anders3:~# raideng /VERBOSE

osdOpenEngine  : 08/31/107-14:53:59  Return = 0 - 1 hbas found
osdCreateSemaphore   : Rtn = 5354b0
dpteng Is Ready.
---cut

When calling "raidutil -L raid" to show the RAID status, raideng
happens to do this:

---cut
Engine Calls   : 08/31/107-14:54:07  Engine Echo Message
Engine Calls   : 08/31/107-14:54:07  DPT_OpenEngine
Engine Calls   : 08/31/107-14:54:07  DPT_CallEngine
                 EngTag = 0, Event = 10, Target = 0
                 Offset = 421 fromEng_P = f04a9421 toEng_P = f04a9000
osdRequestSemaphore   : Rtn = 0

osdReleaseSemaphore   : Rtn = 0

osdIOrequest   : Return = 0
osdRequestSemaphore   : Rtn = 0

osdReleaseSemaphore   : Rtn = 0

osdConnected   : 08/31/107-14:54:07  ioMethod = 1
Engine Calls   : 08/31/107-14:54:07  DPT_CallEngine
                 EngTag = 1, Event = 14, Target = 0
                 Offset = 421 fromEng_P = f04a9421 toEng_P = f04a9000
osdRequestSemaphore   : Rtn = 0

osdReleaseSemaphore   : Rtn = 0

osdGetCtlrs    : 08/31/107-14:54:07  Enter
osdGetCtlrs    : 08/31/107-14:54:07  Return = 0
osdSendCCB     : 08/31/107-14:54:07  (0,0,7,0) OpCode = c1
ProcessEataToI2o:08/31/107-14:54:07  Enter
_osdStartCp    : 08/31/107-14:54:07  Enter, callback = 40b540
osdSendMessage : 08/31/107-14:54:07  Enter, Function = ff
osdSendMessage : IoAddress is zero for HbaNum=0

osdSendMessage : 08/31/107-14:54:07  Return = 80000000
_osdStartCp    : 08/31/107-14:54:07  Return = ffffffff
_osdStartCp    : 08/31/107-14:54:07  Enter, callback = 40b540
osdSendMessage : 08/31/107-14:54:07  Enter, Function = ff
osdSendMessage : IoAddress is zero for HbaNum=0

osdSendMessage : 08/31/107-14:54:07  Return = 80000000
_osdStartCp    : 08/31/107-14:54:07  Return = ffffffff
_osdStartCp    : 08/31/107-14:54:07  Enter, callback = 40b540
osdSendMessage : 08/31/107-14:54:07  Enter, Function = ff
osdSendMessage : IoAddress is zero for HbaNum=0

osdSendMessage : 08/31/107-14:54:07  Return = 80000000
_osdStartCp    : 08/31/107-14:54:07  Return = ffffffff
_osdStartCp    : 08/31/107-14:54:07  Enter, callback = 40b540
osdSendMessage : 08/31/107-14:54:07  Enter, Function = ff
osdSendMessage : IoAddress is zero for HbaNum=0

osdSendMessage : 08/31/107-14:54:07  Return = 80000000
_osdStartCp    : 08/31/107-14:54:07  Return = ffffffffSegmentation fault
---cut

The kernel syslog also logs the Segfault:

---cut
Aug 31 14:54:07 anders3 kernel: raideng[31961] general protection rip:40da2f 
rsp:7fffbaef0130 error:0
---cut

raidutil then hangs quite infinetely (well, I've waited for a few
minutes) and can be aborted using Ctrl-C.


Maybe this segmentation fault isn't related to the other segfaults in
this bug, but maybe they also do relate to each other.

/proc/i2o/iop0/status looks fishy to me; the io-adresses of 0x0
do correspond to the output "IoAddress is zero for HbaNum=0"
of the running dpteng and it were to simple that raideng
would try to connect to the adress of 0x0.

In my case, I think that the i2o-Controller responds with a "wrong"
io-address and this issue hasn't been noticed earlier as on a 32-bit 
system, as most people are likely to use the dpt_i2o kernel driver 
to access their RAID controllers, which in turn makes raidutil/raideng 
use the /dev/dpti0 device of the dpt_i2o driver - which doesn't have 
the same issues like the /dev/i2o/ctl and i2o-drivers do have.

If I'm right, in my case it's simply a bug in the i2o-BIOS of
the Adaptec 2015S (I'm running the release 1.62, which is four
years old but still current for the adaptec-supported controller)
which actually prevents raidutil/i2o from correctly 
accessing the controller.


Anders


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

Reply via email to