Re: dmraid 10.0.0rc13 crashes with ICH7

SuD <[email protected]>
Newsgroups gmane.linux.ataraid
Message-ID <[email protected]>
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: 
[email protected]
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

_______________________________________________
Ataraid-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/ataraid-list
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.