kern/101819: The ATA driver wrongly determines type RAID on ICH7R (LSI v3 embedded MegaRAID)

GReenX greenx at azimutprint.ru
Fri Aug 11 14:20:11 UTC 2006


>Number:         101819
>Category:       kern
>Synopsis:       The ATA driver wrongly determines type RAID on ICH7R (LSI v3 embedded MegaRAID)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Aug 11 14:20:08 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     GReenX
>Release:        6.1-STABLE and 7.0-CURRENT
>Organization:
Azimutprint LTD.
>Environment:
FreeBSD gremlin.azimutprint.ru 7.0-CURRENT FreeBSD 7.0-CURRENT #0: Fri Aug 11 10:43:35 UTC 2006     root at gremlin.azimutprint.ru:/usr/obj/usr/src/sys/GENERIC  i386 (CVSUP from 11 aug 2006)

>Description:
Hi,
I have purchased motherboard intel se7230nh1-lx, and wished to create on her basis RAID10. Made as it is written to documentation. 
Has entered in bios, has chosen 4 disks, has told that they in raid10, initialized, rebooted.
At loading the system speaks that status RAID OK, but at loading the FreeBSD informs that RAID DEGRADED.
RAID it is made in ICH7R on LSI v3 embedded MegaRAID.

..skip...
atapci2: <Intel ICH7 SATA300 controller> port 0x3048-0x304f,0x3064-0x3067,0x3040-0x3047,0x3060-0x3063,0x3020-0x302f mem 0x48200000-0x482003ff irq 19 at device 31.2 on pci0
ata4: <ATA channel 0> on atapci2
ata5: <ATA channel 1> on atapci2
ata6: <ATA channel 2> on atapci2
ata7: <ATA channel 3> on atapci2
..skip...
ad8: 152627MB <Seagate ST3160811AS 3.AAB> at ata4-master SATA300
ad8: Intel check1 failed
ad8: Adaptec check1 failed
******* ATA LSILogic V3 MegaRAID Metadata *******
lsi_id              <$_IDE$>
dummy_0             0xe000003
version             0x0131
dummy_0             0xe000003
RAID configs:
00  stripe_pages       16
00  type               RAID1
00  total_disks        2
00  array_width        2
00  sectors            312360960
00  offset             0
00  device             0x00
DISK configs:
00  disk_sectors       312360960
00  flags              0x00
01  disk_sectors       312360960
01  flags              0x00
device              0x00
timestamp           0x44442cc0
checksum_1          0xb9
=================================================
ad10: 152627MB <Seagate ST3160811AS 3.AAB> at ata5-master SATA300
ad10: Intel check1 failed
ad10: Adaptec check1 failed
******* ATA LSILogic V3 MegaRAID Metadata *******
lsi_id              <$_IDE$>
dummy_0             0xe000003
version             0x0131
dummy_0             0xe000003
RAID configs:
00  stripe_pages       16
00  type               RAID1
00  total_disks        2
00  array_width        2
00  sectors            312360960
00  offset             0
00  device             0x00
DISK configs:
00  disk_sectors       312360960
00  flags              0x00
01  disk_sectors       312360960
01  flags              0x00
device              0x10
timestamp           0x44442cc0
checksum_1          0xa9
=================================================
ad12: 152627MB <Seagate ST3160811AS 3.AAB> at ata6-master SATA300
ad12: Intel check1 failed
ad12: Adaptec check1 failed
******* ATA LSILogic V3 MegaRAID Metadata *******
lsi_id              <$_IDE$>
dummy_0             0xe000003
version             0x0131
dummy_0             0xe000003
RAID configs:
00  stripe_pages       16
00  type               RAID1
00  total_disks        2
00  array_width        2
00  sectors            312360960
00  offset             0
00  device             0x00
DISK configs:
00  disk_sectors       312360960
00  flags              0x00
01  disk_sectors       312360960
01  flags              0x00
device              0x01
timestamp           0x44442cc0
checksum_1          0xb8
=================================================
ad14: 152627MB <Seagate ST3160811AS 3.AAB> at ata7-master SATA300
ad14: Intel check1 failed
ad14: Adaptec check1 failed
******* ATA LSILogic V3 MegaRAID Metadata *******
lsi_id              <$_IDE$>
dummy_0             0xe000003
version             0x0131
dummy_0             0xe000003
RAID configs:
00  stripe_pages       16
00  type               RAID1
00  total_disks        2
00  array_width        2
00  sectors            312360960
00  offset             0
00  device             0x00
DISK configs:
00  disk_sectors       312360960
00  flags              0x00
01  disk_sectors       312360960
01  flags              0x00
device              0x11
timestamp           0x44442cc0
checksum_1          0xa8
=================================================
ATA PseudoRAID loaded
********** ATA PseudoRAID ar0 Metadata **********
=================================================
format              LSILogic v3 MegaRAID
type                RAID1
flags               0x00 0
magic_0             0x0000000044442cc0
magic_1             0x0000000000000000
generation          0
total_sectors       624721920
offset_sectors      0
heads               255
sectors             63
cylinders           38887
width               2
interleave          128
total_disks         2
    disk 0:      flags = 0x0b b<ONLINE,ASSIGNED,PRESENT>
        ad8:  sectors 312360960
    disk 1:      flags = 0x0b b<ONLINE,ASSIGNED,PRESENT>
        ad14:  sectors 312360960
=================================================
ar0: WARNING - mirror protection lost. RAID1 array in DEGRADED mode
ar0: 305040MB <LSILogic v3 MegaRAID RAID1> status: DEGRADED
ar0: 624721920 sectors [38887C/255H/63S] <> subdisks defined as:
ar0: disk0 READY (master) using ad8 at ata4-master
ar0: disk1 READY (master) using ad14 at ata7-master
..skip...

If to create simultaneously both RAID0 and RAID1, FreeBSD say that both RAIDs READY, but also connects in RAID only first and last disks into both RAIDs.

..skip...
ad8: 152627MB <Seagate ST3160811AS 3.AAB> at ata4-master SATA300
ad10: 152627MB <Seagate ST3160811AS 3.AAB> at ata5-master SATA300
ad12: 152627MB <Seagate ST3160811AS 3.AAB> at ata6-master SATA300
ad14: 152627MB <Seagate ST3160811AS 3.AAB> at ata7-master SATA300
ar0: 152520MB <LSILogic v3 MegaRAID RAID1> status: READY
ar0: disk0 READY (master) using ad8 at ata4-master
ar0: disk1 READY (mirror) using ad14 at ata7-master
ar1: 305040MB <LSILogic v3 MegaRAID RAID0 (stripe 64 KB)> status: READY
ar1: disk0 READY using ad8 at ata4-master
ar1: disk1 READY using ad14 at ata7-master
..skip...

Help me PLZ.

P.S.
Also I have found out, that if to try to create RAID through atacontrol controller is found out as Intel MatrixRAID.
It occurs because of that that function ara_raid_create in the driver ata at creation RAID does not check a format of existing structure metadata by means of function ata_raid_read_metadata, and simply causes pci_get_vendor.
I have not understood, it specially so is made, what it would be possible to try to create RAID with structure not native for the controller or simply have not added a code still?
>How-To-Repeat:
To create RAID by means of ICH7R embedded LSI v3 MegaRAID using all four channels.
>Fix:
I have found similar PR, but this patch is not established on 6.1-STABLE, and 7.0-CURRENT, 
and I do not have not enough qualification what to correct him.
http://www.freebsd.org/cgi/query-pr.cgi?pr=92786
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list