Installation guide

23
Symmetrix Fibre Channel with Qlogic HBAs on Linux Hosts
Arbitrated Loop Configurations
Edit scsi.c
To allow the host to access and utilize more than eight SCSI LUNs,
edit scsi.c as follows:
cd /usr/src/linux/drivers/scsi
vi scsi.c
#ifdef CONFIG_SCSI_MULTI_LUN
static int max_scsi_luns = 8;
(Change to 128)
#else
static int max_scsi_luns = 1;
#endif
This can also be accomplished by appending a line to /etc/lilo.conf:
vi /etc/lilo.conf
Add this line:
append="max_scsi_luns=128"
Edit sg.h
The value for the SCSI generic buffer must be increased. Change to
the appropriate directory and increase the value for
SG_SCATTER_SZ to the maximum of 131072.
cd /usr/src/linux/include/scsi
vi sg.h
Around line 195, look for the following code block:
Change the value for SG_SCATTER_SZ (8* 4096) to (32 * 4096).
After the kernel compilation and system reboot, using the following
command can validate this change:
cat /proc/sys/kernel/sg-big-buff
Proceed to Configuring and Compiling the Kernel on page 26 to compile
the Linux kernel.
#define SG_SCATTER_SZ (8 * 4096) /* PAGE_SIZE not available to user */
/* Largest size (in bytes) a single scatter-gather list element can have.
The value must be a power of 2 and <= (PAGE_SIZE * 32) [131072 bytes on
i386]. The minimum value is PAGE_SIZE. If scatter-gather not supported
by adapter then this value is the largest data block that can be
read/written by a single scsi command. The user can find the value of
PAGE_SIZE by calling getpagesize() defined in unistd.h . */