dmraid 10.0.0rc13 crashes with ICH7

SuD sud_NOSPAM at latinsud.com
Sun Feb 11 03:27:14 UTC 2007


I must warn you that all these new tests and results have been done 
after SATA RAID has been DISABLED on bios and installed FC6 with the 
"nodmraid" option.
http://www.latinsud.com/ddf1-HP_ML310-ICH7.tar.bz2

After all that I've also been playing with source code, cleaned up code 
and compiled with debugging:
/* Find the offset for this config/drive. */
static uint64_t get_offset(struct ddf1 *ddf1, struct ddf1_config_record *cr,
                           struct ddf1_phys_drive *pd)
{
        uint64_t * kk;
        int i = get_offset_entry(ddf1, cr, pd);
        if (i < 0)
                return pd->size;
        else {
                kk=CR_OFF(ddf1, cr);
                return kk[i];
        }
}

Then I got this:
Starting program: /root/dmraid/1.0.0.rc13-mio/tools/dmraid -s
Program received signal SIGSEGV, Segmentation fault.
0x0806687b in get_offset (ddf1=0x9f55768, cr=0x9f567d0, pd=0x9f56000) at 
format/ddf/ddf1.c:189
189                     return kk[i];
(gdb) bt
#0  0x0806687b in get_offset (ddf1=0x9f55768, cr=0x9f567d0, 
pd=0x9f56000) at format/ddf/ddf1.c:189
#1  0x08068089 in group_rd (lc=0x9f54520, rs_group=0x9f58908, 
rd_group=0x9f54670) at format/ddf/ddf1.c:746
#2  0x0806831f in ddf1_group (lc=0x9f54520, rd=0x9f54670) at 
format/ddf/ddf1.c:817
#3  0x0805434f in dmraid_group (lc=0x9f54520, rd=0x9f54670) at 
metadata/metadata.c:657
#4  0x0805476c in group_set (lc=0x9f54520, name=0x0) at 
metadata/metadata.c:873
#5  0x0804bdb5 in build_sets (lc=0x9f54520, sets=0xbfd506ec) at toollib.c:69
#6  0x0804b96f in get_metadata (lc=0x9f54520, p=0x8073ce8, 
argv=0xbfd506ec) at commands.c:640
#7  0x0804baa7 in _perform (lc=0x9f54520, p=0x8073ce8, argv=0xbfd506ec) 
at commands.c:767
#8  0x0804bb7f in perform (lc=0x9f54520, argv=0xbfd506ec) at commands.c:787
#9  0x0804aa21 in main (argc=2, argv=0xbfd506ec) at dmraid.c:34
(gdb) print kk
$1 = (uint64_t *) 0x9f969cc
Where "kk" takes random values each execution.

Then I tried a modification (without really knowing what i was doing) 
and it looks like it quite worked:
ddf1_cr_off_maxpds_helper(...) {
    struct ddf1_header *h = ddf1->primary;
    printf("WAA %d %d\n",  h->max_phys_drives , h->max_primary_elements);
    return  h->max_phys_drives; /* Always return this, like assume 
adaptec_mode==1 */
}

And I got this with "dmraid -s":
Starting program: /root/dmraid/1.0.0.rc13-mio/tools/dmraid -s
WAA 15 65535
WAA 15 65535
WAA 15 65535
WAA 15 65535
WAA 15 65535
WAA 15 65535
WAA 15 65535
WAA 15 65535
*** Group superset .ddf1_disks
--> Subset
name   : ddf1_MiArray
size   : 312237824
stride : 128
type   : mirror
status : ok
subsets: 0
devs   : 2
spares : 0
Program exited normally.

And with "dmraid -ay" (in dmesg):
device-mapper: ioctl: 4.10.0-ioctl (2006-09-14) initialised: 
dm-devel at redhat.com
device-mapper: multipath: version 1.0.5 loaded
...
device-mapper: table: 253:2: mirror: Device lookup failure
device-mapper: ioctl: error adding target to table

Sorry i never used dmraid or device-mapper before, does that mean it all 
worked except for device-mapper?

By the way, this is what i did to get the last 32MB of each drive:
dmesg | grep sda
SCSI device sda: 312581808 512-byte hdwr sectors (160042 MB)
...
dd if=/dev/sda of=sda.dat bs=512 skip=$((312581808-2*32*1024))
dd if=/dev/sdb of=sdb.dat bs=512 skip=$((312581808-2*32*1024))

HP offers a driver (with source code) for Proliant SmartArray for 
RHEL/CentOS and other distros, 
http://h18023.www1.hp.com/support/files/server/us/download/25356.html, 
but i'm not sure whether it's for my device (had a look at 
include/linux/pci_ids.h and did not match).
Do you think we will be able to set it up using Fedora and dmraid, any 
advice? I might also try to update firmware.
Thanks.

Heinz Mauelshagen escribió:
> On Fri, Jan 26, 2007 at 10:28:43AM +0100, SuD wrote:
>   
>> Hi, i'm using a HP ML310 (with removable disks) server with some ICH7. I 
>> configured raid1 from bios. It has 2 HD of 160MB each.
>> Fedora core 6 installation will hang from the start unless i add 
>> "nodmraid" to boot.
>>
>> This is the output of commands:
>> * lspci | grep ATA:
>> 00:1f.2 Raid bus controller: Intel 82801GR/GH (ICH7 Family) Serial ATA 
>> Storage Controller RAID (rev 01)
>> Device is 8086:27c3
>>
>> * dmraid -r:
>> /dev/sda: ddf1, ".ddf_disks", GROUP, ok, 312237856 sectors, data@ 0
>> /dev/sdb: ddf1, ".ddf_disks", GROUP, ok, 312237856 sectors, data@ 0
>> (shouldn't be "isw"?)
>>     
>
> This is DDF1 metadata.
>
> Can you send me the last 32MB of each drive dd'ed off into file sda.dat
> and sdb.dat for analysis, please ?
>
> tar/bzip2 them into ddf1-HP_ML310-ICH7.tar.bz2 before sending.
>
> Thanks,
> Heinz
>   
>> * dmraid -ay
>> Segmentation fault
>>
>> Thanks

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/ataraid-list/attachments/20070211/c1cb42ad/attachment.htm>


More information about the Ataraid-list mailing list