]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
[SCSI] qla2xxx: Allow an override of the registered maximum LUN.
authorAndrew Vasquez <andrew.vasquez@qlogic.com>
Tue, 10 May 2011 18:30:13 +0000 (11:30 -0700)
committerJames Bottomley <jbottomley@parallels.com>
Tue, 17 May 2011 07:34:56 +0000 (11:34 +0400)
The 'max_lun' value registered for each scsi_host is currently
capped at 0xffff.  The new module parameter can allow for
2nd-level flat-space addressing method-infrastructure to be
supported.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: Madhuranath Iyengar <Madhu.Iyengar@qlogic.com>
Signed-off-by: James Bottomley <jbottomley@parallels.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/qla2xxx/qla_gbl.h
drivers/scsi/qla2xxx/qla_mid.c
drivers/scsi/qla2xxx/qla_os.c

index 53968ccf88e31133bd5f89d0335e2b6a1949e804..79a12aa978a4bca955eeb2dc50d904b59b1e51e3 100644 (file)
@@ -103,6 +103,7 @@ extern int ql2xenabledif;
 extern int ql2xenablehba_err_chk;
 extern int ql2xtargetreset;
 extern int ql2xdontresethba;
+extern unsigned int ql2xmaxlun;
 
 extern int qla2x00_loop_reset(scsi_qla_host_t *);
 extern void qla2x00_abort_all_cmds(scsi_qla_host_t *, int);
index e34d7dd73e82fb7c4e3f7bf3e783622cd008ae34..5e343919acad791ccc8879b4b98cce37e92021d8 100644 (file)
@@ -456,7 +456,7 @@ qla24xx_create_vhost(struct fc_vport *fc_vport)
        else
                host->max_cmd_len = MAX_CMDSZ;
        host->max_channel = MAX_BUSES - 1;
-       host->max_lun = MAX_LUNS;
+       host->max_lun = ql2xmaxlun;
        host->unique_id = host->host_no;
        host->max_id = MAX_TARGETS_2200;
        host->transportt = qla2xxx_transport_vport_template;
index 8401a6f9bc714ff3b91cfaecd84d698e8879dd4b..f461925a9dfc29d7656df3477eecdb29eaead55d 100644 (file)
@@ -172,6 +172,12 @@ MODULE_PARM_DESC(ql2xdontresethba,
        " 0 (Default) -- Reset on failure.\n"
        " 1 -- Do not reset on failure.\n");
 
+uint ql2xmaxlun = MAX_LUNS;
+module_param(ql2xmaxlun, uint, S_IRUGO);
+MODULE_PARM_DESC(ql2xmaxlun,
+               "Defines the maximum LU number to register with the SCSI "
+               "midlayer. Default is 65535.");
+
 /*
  * SCSI host template entry points
  */
@@ -2136,7 +2142,7 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
        else
                host->max_cmd_len = MAX_CMDSZ;
        host->max_channel = MAX_BUSES - 1;
-       host->max_lun = MAX_LUNS;
+       host->max_lun = ql2xmaxlun;
        host->transportt = qla2xxx_transport_template;
        sht->vendor_id = (SCSI_NL_VID_TYPE_PCI | PCI_VENDOR_ID_QLOGIC);