[3478] in linux-scsi channel archive

home help back first fref pref prev next nref lref last post

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

home help back first fref pref prev next nref lref last post