When booting an HP ProLiant DL385 G7 with a p410i SAS controller using any gentoo derivative kernel based on vanilla-2.6.37 and above, the kernel see the controller but fails to mount the root file system. The kernel is compiled non-modular. After some git bisecting, I narrowed it down to the following commit in the Linus tree: 6fa977520871b1fc0be64247abad02b678c13fda The full URL is above. The commit message is a bit cryptic. The hpsa driver presents the array as a standard scsi /dev/sda while the classical CCISS driver uses /dev/cciss/c0d0. However, no matter what combination of hpsa and/or cciss module one tries, the array is not available under either name. Reverting the commit fixes the problem. See also http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=617891. There the reporter only had success by compiling a modular kernel, but not with a non-modular. Reproducible: Always
Created attachment 270893 [details] Patch to reverse commit 6fa977520871b1fc0be64247abad02b678c13fda This patch has been refreshed to apply cleanly to 2.6.38.
Okay using the lastest build I was able to get the p410i to work with HPSA driver whether compiled into the kernel or as a module. The only issue I see is that we loose of of the interaction we had with the cciss block device, like smartctl which allowed one to query the health of each of the drives independently. I don't see that you can do the same with hpsa which presents the entire array as one scsi device which is not smart capable. I'll look into what health monitoring utilities replace the old ones, and probably close this if satisfied else I'll push the complaint upstream.
I'm going to go ahead and close this one INVALID. Upstream is moving in this direction and I don't think we should create work backporting when the new driver is workable.