]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
[SCSI] iscsi lib: remove qdepth param from iscsi host allocation
authorMike Christie <michaelc@cs.wisc.edu>
Thu, 5 Mar 2009 20:46:04 +0000 (14:46 -0600)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Fri, 13 Mar 2009 20:28:55 +0000 (15:28 -0500)
The qdepth setting was useful when we needed libiscsi to verify
the setting. Now we just need to make sure if older tools
passed in zero then we need to set some default.

So this patch just has us use the sht->cmd_per_lun or if
for LLD does a host per session then we can set it on per
host basis.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
drivers/infiniband/ulp/iser/iscsi_iser.c
drivers/scsi/cxgb3i/cxgb3i_iscsi.c
drivers/scsi/iscsi_tcp.c
drivers/scsi/libiscsi.c
include/scsi/libiscsi.h

index a50cd53e27532c499fe5f7e13153823a5f1ca5e8..6c61ed12f29993a57a83430cddf92f9932e97e78 100644 (file)
@@ -404,7 +404,7 @@ iscsi_iser_session_create(struct iscsi_endpoint *ep,
        struct Scsi_Host *shost;
        struct iser_conn *ib_conn;
 
-       shost = iscsi_host_alloc(&iscsi_iser_sht, 0, ISER_DEF_CMD_PER_LUN, 1);
+       shost = iscsi_host_alloc(&iscsi_iser_sht, 0, 1);
        if (!shost)
                return NULL;
        shost->transportt = iscsi_iser_scsi_transport;
index f6ed9c62efb0c6bb1fa1abcfbdec0ccc2cce4f60..307f55e329f587ac7756c1c58ca6161651ae5bfb 100644 (file)
@@ -170,8 +170,7 @@ struct cxgb3i_hba *cxgb3i_hba_host_add(struct cxgb3i_adapter *snic,
        int err;
 
        shost = iscsi_host_alloc(&cxgb3i_host_template,
-                                sizeof(struct cxgb3i_hba),
-                                CXGB3I_SCSI_QDEPTH_DFLT, 1);
+                                sizeof(struct cxgb3i_hba), 1);
        if (!shost) {
                cxgb3i_log_info("iscsi_host_alloc failed.\n");
                return NULL;
@@ -843,7 +842,7 @@ static struct scsi_host_template cxgb3i_host_template = {
        .can_queue              = CXGB3I_SCSI_QDEPTH_DFLT - 1,
        .sg_tablesize           = SG_ALL,
        .max_sectors            = 0xFFFF,
-       .cmd_per_lun            = ISCSI_DEF_CMD_PER_LUN,
+       .cmd_per_lun            = CXGB3I_SCSI_QDEPTH_DFLT,
        .eh_abort_handler       = iscsi_eh_abort,
        .eh_device_reset_handler = iscsi_eh_device_reset,
        .eh_target_reset_handler = iscsi_eh_target_reset,
index 79a706a94c68c2be9d67e00acb3bac18efd626e7..ad8676c98c68f26bd9b32539f1003c657ce4e336 100644 (file)
@@ -777,10 +777,11 @@ iscsi_sw_tcp_session_create(struct iscsi_endpoint *ep, uint16_t cmds_max,
                return NULL;
        }
 
-       shost = iscsi_host_alloc(&iscsi_sw_tcp_sht, 0, qdepth, 1);
+       shost = iscsi_host_alloc(&iscsi_sw_tcp_sht, 0, 1);
        if (!shost)
                return NULL;
        shost->transportt = iscsi_sw_tcp_scsi_transport;
+       shost->cmd_per_lun = qdepth;
        shost->max_lun = iscsi_max_lun;
        shost->max_id = 0;
        shost->max_channel = 0;
index ff891543df22efe44373d823b93b2e434169e90f..d12f9794fcd0c1fb3862aba821867d9bd8d7f56d 100644 (file)
@@ -2046,6 +2046,9 @@ int iscsi_host_add(struct Scsi_Host *shost, struct device *pdev)
        if (!shost->can_queue)
                shost->can_queue = ISCSI_DEF_XMIT_CMDS_MAX;
 
+       if (!shost->cmd_per_lun)
+               shost->cmd_per_lun = ISCSI_DEF_CMD_PER_LUN;
+
        if (!shost->transportt->eh_timed_out)
                shost->transportt->eh_timed_out = iscsi_eh_cmd_timed_out;
        return scsi_add_host(shost, pdev);
@@ -2056,15 +2059,13 @@ EXPORT_SYMBOL_GPL(iscsi_host_add);
  * iscsi_host_alloc - allocate a host and driver data
  * @sht: scsi host template
  * @dd_data_size: driver host data size
- * @qdepth: default device queue depth
  * @xmit_can_sleep: bool indicating if LLD will queue IO from a work queue
  *
  * This should be called by partial offload and software iscsi drivers.
  * To access the driver specific memory use the iscsi_host_priv() macro.
  */
 struct Scsi_Host *iscsi_host_alloc(struct scsi_host_template *sht,
-                                  int dd_data_size, uint16_t qdepth,
-                                  bool xmit_can_sleep)
+                                  int dd_data_size, bool xmit_can_sleep)
 {
        struct Scsi_Host *shost;
        struct iscsi_host *ihost;
@@ -2072,10 +2073,6 @@ struct Scsi_Host *iscsi_host_alloc(struct scsi_host_template *sht,
        shost = scsi_host_alloc(sht, sizeof(struct iscsi_host) + dd_data_size);
        if (!shost)
                return NULL;
-
-       if (qdepth == 0)
-               qdepth = ISCSI_DEF_CMD_PER_LUN;
-       shost->cmd_per_lun = qdepth;
        ihost = shost_priv(shost);
 
        if (xmit_can_sleep) {
index b0b8a69924970575fec95e3eb88e4954c7de7c46..84eded91b9457db15529277bb95b8ec1cbaadd25 100644 (file)
@@ -346,7 +346,7 @@ extern int iscsi_host_get_param(struct Scsi_Host *shost,
                                enum iscsi_host_param param, char *buf);
 extern int iscsi_host_add(struct Scsi_Host *shost, struct device *pdev);
 extern struct Scsi_Host *iscsi_host_alloc(struct scsi_host_template *sht,
-                                         int dd_data_size, uint16_t qdepth,
+                                         int dd_data_size,
                                          bool xmit_can_sleep);
 extern void iscsi_host_remove(struct Scsi_Host *shost);
 extern void iscsi_host_free(struct Scsi_Host *shost);