Re: dmraid 10.0.0rc13 crashes with ICH7

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

 



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@xxxxxxxxxx
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
Ataraid-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/ataraid-list

[Index of Archives]     [Linux RAID]     [Linux Device Mapper]     [Linux IDE]     [Linux SCSI]     [Kernel]     [Linux Books]     [Linux Admin]     [GFS]     [RPM]     [Yosemite Campgrounds]     [AMD 64]

  Powered by Linux