+++ /dev/null
-From: Christof Schmitt <christof.schmitt@de.ibm.com>
-Subject: [SCSI] zfcp: Make queue_depth adjustable
-Patch-mainline: 2.6.31-rc1
-Git-commit: a40a1bafe7da0afe61b1c20fc50e18c07ce724f9
-References: bnc#513954
-
-[SCSI] zfcp: Make queue_depth adjustable
-
-zfcp did always set the queue_depth for SCSI devices to 32, not
-allowing to change this. Introduce a kernel parameter zfcp.queue_depth
-and the change_queue_depth callback to allow changing the queue_depth
-when it is required.
-
-Reviewed-by: Swen Schillig <swen@vnet.ibm.com>
-Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com>
-Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
-Acked-by: Jeff Mahoney <jeffm@suse.com>
----
- drivers/s390/scsi/zfcp_scsi.c | 13 ++++++++++++-
- 1 file changed, 12 insertions(+), 1 deletion(-)
-
---- a/drivers/s390/scsi/zfcp_scsi.c
-+++ b/drivers/s390/scsi/zfcp_scsi.c
-@@ -11,6 +11,10 @@
- #include "zfcp_ext.h"
- #include <asm/atomic.h>
-
-+static unsigned int default_depth = 32;
-+module_param_named(queue_depth, default_depth, uint, 0600);
-+MODULE_PARM_DESC(queue_depth, "Default queue depth for new SCSI devices");
-+
- /* Find start of Sense Information in FCP response unit*/
- char *zfcp_get_fcp_sns_info_ptr(struct fcp_rsp_iu *fcp_rsp_iu)
- {
-@@ -23,6 +27,12 @@ char *zfcp_get_fcp_sns_info_ptr(struct f
- return fcp_sns_info_ptr;
- }
-
-+static int zfcp_scsi_change_queue_depth(struct scsi_device *sdev, int depth)
-+{
-+ scsi_adjust_queue_depth(sdev, scsi_get_tag_type(sdev), depth);
-+ return sdev->queue_depth;
-+}
-+
- static void zfcp_scsi_slave_destroy(struct scsi_device *sdpnt)
- {
- struct zfcp_unit *unit = (struct zfcp_unit *) sdpnt->hostdata;
-@@ -34,7 +44,7 @@ static void zfcp_scsi_slave_destroy(stru
- static int zfcp_scsi_slave_configure(struct scsi_device *sdp)
- {
- if (sdp->tagged_supported)
-- scsi_adjust_queue_depth(sdp, MSG_SIMPLE_TAG, 32);
-+ scsi_adjust_queue_depth(sdp, MSG_SIMPLE_TAG, default_depth);
- else
- scsi_adjust_queue_depth(sdp, 0, 1);
- return 0;
-@@ -653,6 +663,7 @@ struct zfcp_data zfcp_data = {
- .name = "zfcp",
- .module = THIS_MODULE,
- .proc_name = "zfcp",
-+ .change_queue_depth = zfcp_scsi_change_queue_depth,
- .slave_alloc = zfcp_scsi_slave_alloc,
- .slave_configure = zfcp_scsi_slave_configure,
- .slave_destroy = zfcp_scsi_slave_destroy,