[CentOS] RocketRAID cards (actually, solved)

Fri Aug 16 15:09:59 UTC 2013
m.roth at 5-cent.us <m.roth at 5-cent.us>

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
     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.