[3478] in linux-scsi channel archive
Re: Devices limit problem
daemon@ATHENA.MIT.EDU (Jakub Jelinek)
Sun Mar 8 04:44:20 1998
From: Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
To: herve@doremilabs.com (Herve MORILLON)
Date: Sun, 8 Mar 1998 10:44:18 +0100 (MET)
Cc: linux-scsi@vger.rutgers.edu
In-Reply-To: <350239BE.6DCADC05@doremilabs.com> from "Herve MORILLON" at Mar 8, 98 06:25:02 am
>
> Hello,
>
> I've a problem, i 'm writting a driver for SCSI Card Qlogic ISP2100.
> i write a module and everythings seems all right BUT i can't access
> more than two devices (i read on the HOWTO that room space was reserved
>
> on boot).
>
> How could i do ?
> compile the kernel and change SD_EXTRA_DEVS to a new value ?
> (125 for FC/AL)
Well, if you don't run a kernel from vger CVS, you won't be able to use more
than 16 SCSI disks anyway, so you can
#define SD_EXTRA_DEVS 16
in drivers/scsi/hosts.h
If you need more devices, then grab vger CVS tree. There is support for a
lot of SCSI disks (tested with 27 disks), plus e.g. this ugly hack in
hosts.h:
/*
* This is an ugly hack. If we expect to be able to load devices at run time,
* we need to leave extra room in some of the data structures. Doing a
* realloc to enlarge the structures would be riddled with race conditions,
* so until a better solution is discovered, we use this crude approach
*
* Even bigger hack for SparcSTORAGE arrays. Those are at least 6 disks, but
* usually up to 30 disks, so everyone would need to change this. -jj
*/
#ifdef CONFIG_SCSI_PLUTO_MODULE
#define SD_EXTRA_DEVS 40
#else
#define SD_EXTRA_DEVS 4
#endif
It is a hack, as e.g. if you have two or more SSA arrays, you can have many
more disks. The real solution is to convert to pointer kdev_t, and get rid
of all static arrays in block device subsystem. Then you'll be able to get
rid of these constants easily...
Cheers,
Jakub
___________________________________________________________________
Jakub Jelinek | jj@sunsite.mff.cuni.cz | http://sunsite.mff.cuni.cz
Administrator of SunSITE Czech Republic, MFF, Charles University
___________________________________________________________________
Ultralinux - first 64bit OS to take full power of the UltraSparc
Linux version 2.1.88 on a sparc64 machine (498.80 BogoMips).
___________________________________________________________________
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.rutgers.edu