The limitation of scsi lun supported under Linux?

WANG,YIDING (yiding_wang@am.exch.hp.com)
Wed, 29 Sep 1999 15:09:37 -0600


Thanks to Matthew and others responded to my question. Something still
bothers me:

As Matthew mentioned that Max. lun support for Lunix is limited only by bits
number,
then 256 lun should be easily to cover. However, in "scan_scsi()" code in
"scsi.c"
under RH6.0 (Linux2.2.5-15), there is a define for
#define max_scsi_luns = 8
and it is used in the scsi device scan process:

max_dev_lun = (max_scsi_luns < shpnt->max_lun?
max_scsi_luns : shpnt->max_lun);

which limited max lun support to 8.

If the full bit lun address is supported, then when and how the large lun
number,
say 256, is being passed to the scsi_scan() function for device scanning?

If the scsi device scan is not through this function, then where the large
lun device is scanned?

Many thanks!

-eddie

-----Original Message-----
From: Matthew Jacob [mailto:mjacob@feral.com]
Sent: Tuesday, September 28, 1999 10:52 AM
To: WANG,YIDING (HP-SanJose,ex1)
Cc: 'Benjamin Scott'; 'linux_kernel'
Subject: RE: The limitation of scsi target and lun supported under
Linux?

On Tue, 28 Sep 1999, WANG,YIDING (HP-SanJose,ex1) wrote:

> The scsi support depends on two sources. One from OS target driver
> and another from spec. Even wide scsi support 16 targets, most Unix
> OSes support 32 and more. For example, Solaris support 128 target and

Wrong. 65535.

> 32 lun each.

Wrong. 256 (I've done this much with Fibre Channel).

Both these are driven by the bits available in the struct scsi_address
structure.

Further, the NDI framework which everything inside Solaris is shifting to
completely separates addresses out from limitations as the dev_info_t is
constructed by the nexus driver and the address can be arbitrary. In
theory this means that even without changing the target drivers the
a_target, a_lun and a_sublun fields could be recycled to be a flat 32 bit
integer which means you get 4GB seperate addresses *per HBA instance*.

>
> I am doing Fibre Channel device support which using SCSI III protocal.
> Currently many
> vendor requires large number device support. For example, EMC asks at
least
> 256 LUN is
> supported.

Again, this is trivial. Try doing at least first level SCCLUN with 65535
luns.

> for scsi target support and max. 8 LUN is supported, still I have question
> of the limitation of target and lun current Linux can support? This is
due
> to my feeling that there should be a limitation for target support and 8
lun
> support is too few. Also Benjamin mentioned 127 lun supoort although I
> don't know where the number comes from.

The problem is more serious in what you can dig up for device nodes than
actual internal scsi addressing.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/