kern/159271: "pseudo-raid" controllers does not work in latest releases

Alexey Gulchenko gulchenko_alexey at yahoo.com
Thu Jul 28 20:30:11 UTC 2011


>Number:         159271
>Category:       kern
>Synopsis:       "pseudo-raid" controllers does not work in latest releases
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jul 28 20:30:10 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Alexey Gulchenko
>Release:        8.2-RELEASE
>Organization:
>Environment:
FreeBSD agserver.home 8.2-RELEASE-p2 FreeBSD 8.2-RELEASE-p2 #3: Thu Jul 28 15:32:49 EEST 2011     root at agserver.home:/usr/obj/usr/src/sys/agserver  amd64

>Description:
FreeBSD installed on mirror (RAID0). 
Controller based on JMicron (JMB363) chip. In some builds of FreeBSD I've found little problem with pseudo-raid cards. After upgrading FreeBSD from version RELEASE-8.0 up to RELEASE-8.2 my server stop boot. I'm tried also 9.0-CURRENT.
>From kernel log I see that problem in mounting of root file system which placed on RAID0 array. Pseudo-RAID controller no more detected by kernel.
After short investigation was found root of problem. In new releases ATA cards registered as "atapci" devices. So, "ata-raid" driver in function 'ata_raid_read_metadata' can't find pseudo-raid controller.
After short fix my server successfully booted.
>How-To-Repeat:
Install in server pseudo-raid card and try to find any (previously created) raid arrays.
>Fix:
In file "ata-raid.c":

static int
ata_raid_read_metadata(device_t subdisk)
{
--    devclass_t pci_devclass = devclass_find("pci");
++    devclass_t pci_devclass = devclass_find("atapci");



>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list