If anyone's got old RocketRAID cards, I just had to deal with one. They
are years behind in updating their drivers - googling, I find the last
time some were supported was CentOS 5.2.
At any rate, I have just managed to build 1.8 of rr232x successfully, and
am building filesystems on the drive as I type.
I d/l the compressed tarballs from HighPoint's site. The changes to make
it compile were:
1. /* if (bdev && blkdev_get(bdev, FMODE_READ, 0 __BDEV_RAW)==0) {
# Above for < 2.6.28 */
if (bdev && blkdev_get(bdev, FMODE_READ)==0) {
Note that the last two parms from the original call were removed.
2. /* blkdev_put(bdev __BDEV_RAW); (or, in another case, just BDEV_RAW)
# above < 2.6.28 */
blkdev_put(bdev, FMODE_READ);
3. In osm_linux.h, their definition redefines what the Linux header files
say.
I made the following change. Note that I wanted to make sure IRQ_HANDLED
was defined, presuming it's in use elsewhere, and I'm making minimal
changes to the code.
/* #ifndef IRQ_HANDLED */
#ifndef _LINUX_IRQRETURN_H
4. In osm_linux.c, I changed from the first line below to the second.
/* SCpnt->result = ((DRIVER_INVALID|SUGGEST_ABORT)<<24) |
(DID_ABORT<<16); */
SCpnt->result = ((DRIVER_INVALID|TASK_ABORTED)<<24) |
(DID_ABORT<<16); Again, some defines are long gone. I chose
TASK_ABORTED because it
had the same hex value as SUGGEST_ABORT, 0x20, and seemed appropriate.
Then it was cd into rr232x-linux-src-v1.8/product/rr232x/linux/, make
clean, make, make install. The install does the depmod and modprobe.
mark