[SCSI] ibmvscsi: Changeable queue depth
Adds support for a changeable queue depth to ibmvscsi. Signed-off-by: Brian King <brking@linux.vnet.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
committed by
James Bottomley
parent
d5587d5dcd
commit
742d25b819
@@ -1375,6 +1375,23 @@ static int ibmvscsi_slave_configure(struct scsi_device *sdev)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ibmvscsi_change_queue_depth - Change the device's queue depth
|
||||||
|
* @sdev: scsi device struct
|
||||||
|
* @qdepth: depth to set
|
||||||
|
*
|
||||||
|
* Return value:
|
||||||
|
* actual depth set
|
||||||
|
**/
|
||||||
|
static int ibmvscsi_change_queue_depth(struct scsi_device *sdev, int qdepth)
|
||||||
|
{
|
||||||
|
if (qdepth > IBMVSCSI_MAX_CMDS_PER_LUN)
|
||||||
|
qdepth = IBMVSCSI_MAX_CMDS_PER_LUN;
|
||||||
|
|
||||||
|
scsi_adjust_queue_depth(sdev, 0, qdepth);
|
||||||
|
return sdev->queue_depth;
|
||||||
|
}
|
||||||
|
|
||||||
/* ------------------------------------------------------------
|
/* ------------------------------------------------------------
|
||||||
* sysfs attributes
|
* sysfs attributes
|
||||||
*/
|
*/
|
||||||
@@ -1521,6 +1538,7 @@ static struct scsi_host_template driver_template = {
|
|||||||
.eh_abort_handler = ibmvscsi_eh_abort_handler,
|
.eh_abort_handler = ibmvscsi_eh_abort_handler,
|
||||||
.eh_device_reset_handler = ibmvscsi_eh_device_reset_handler,
|
.eh_device_reset_handler = ibmvscsi_eh_device_reset_handler,
|
||||||
.slave_configure = ibmvscsi_slave_configure,
|
.slave_configure = ibmvscsi_slave_configure,
|
||||||
|
.change_queue_depth = ibmvscsi_change_queue_depth,
|
||||||
.cmd_per_lun = 16,
|
.cmd_per_lun = 16,
|
||||||
.can_queue = IBMVSCSI_MAX_REQUESTS_DEFAULT,
|
.can_queue = IBMVSCSI_MAX_REQUESTS_DEFAULT,
|
||||||
.this_id = -1,
|
.this_id = -1,
|
||||||
|
@@ -45,6 +45,7 @@ struct Scsi_Host;
|
|||||||
#define MAX_INDIRECT_BUFS 10
|
#define MAX_INDIRECT_BUFS 10
|
||||||
|
|
||||||
#define IBMVSCSI_MAX_REQUESTS_DEFAULT 100
|
#define IBMVSCSI_MAX_REQUESTS_DEFAULT 100
|
||||||
|
#define IBMVSCSI_MAX_CMDS_PER_LUN 64
|
||||||
|
|
||||||
/* ------------------------------------------------------------
|
/* ------------------------------------------------------------
|
||||||
* Data Structures
|
* Data Structures
|
||||||
|
Reference in New Issue
Block a user