The cmd_per_lun value is used by scsi-ml as fall back lowest
queue_depth value but in case of libfc cmd_per_lun is set same
as max queue_depth value 32.

So this reduces cmd_per_lun value to 3 and configures each
lun with default max queue_depth 32 in fc_slave_alloc.

Signed-off-by: Vasu Dev <[email protected]>
---

 drivers/scsi/fcoe/fcoe.c    |    2 +-
 drivers/scsi/libfc/fc_fcp.c |   14 ++++++--------
 2 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/drivers/scsi/fcoe/fcoe.c b/drivers/scsi/fcoe/fcoe.c
index a39d370..18e9ef7 100644
--- a/drivers/scsi/fcoe/fcoe.c
+++ b/drivers/scsi/fcoe/fcoe.c
@@ -131,7 +131,7 @@ static struct scsi_host_template fcoe_shost_template = {
        .change_queue_depth = fc_change_queue_depth,
        .change_queue_type = fc_change_queue_type,
        .this_id = -1,
-       .cmd_per_lun = 32,
+       .cmd_per_lun = 3,
        .can_queue = FCOE_MAX_OUTSTANDING_COMMANDS,
        .use_clustering = ENABLE_CLUSTERING,
        .sg_tablesize = SG_ALL,
diff --git a/drivers/scsi/libfc/fc_fcp.c b/drivers/scsi/libfc/fc_fcp.c
index 18875d8..316767e 100644
--- a/drivers/scsi/libfc/fc_fcp.c
+++ b/drivers/scsi/libfc/fc_fcp.c
@@ -2031,18 +2031,16 @@ EXPORT_SYMBOL(fc_eh_host_reset);
 int fc_slave_alloc(struct scsi_device *sdev)
 {
        struct fc_rport *rport = starget_to_rport(scsi_target(sdev));
-       int queue_depth;
 
        if (!rport || fc_remote_port_chkready(rport))
                return -ENXIO;
 
-       if (sdev->tagged_supported) {
-               if (sdev->host->hostt->cmd_per_lun)
-                       queue_depth = sdev->host->hostt->cmd_per_lun;
-               else
-                       queue_depth = FC_FCP_DFLT_QUEUE_DEPTH;
-               scsi_activate_tcq(sdev, queue_depth);
-       }
+       if (sdev->tagged_supported)
+               scsi_activate_tcq(sdev, FC_FCP_DFLT_QUEUE_DEPTH);
+       else
+               scsi_adjust_queue_depth(sdev, scsi_get_tag_type(sdev),
+                                       FC_FCP_DFLT_QUEUE_DEPTH);
+
        return 0;
 }
 EXPORT_SYMBOL(fc_slave_alloc);

_______________________________________________
devel mailing list
[email protected]
http://www.open-fcoe.org/mailman/listinfo/devel

Reply via email to