[SCSI] fnic: Remove QUEUE_FULL handling code
Remove fnic driver QUEUE_FULL handling code instead let SCSI mid layer handle queue full and use its algorithm to ramp down/up queue Signed-off-by: Suma Ramars <sramars@cisco.com> Signed-off-by: Hiral Patel <hiralpat@cisco.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
Родитель
87aa619c17
Коммит
318c7c4325
|
@ -818,38 +818,6 @@ static void fnic_fcpio_icmnd_cmpl_handler(struct fnic *fnic,
|
|||
if (icmnd_cmpl->flags & FCPIO_ICMND_CMPL_RESID_UNDER)
|
||||
xfer_len -= icmnd_cmpl->residual;
|
||||
|
||||
/*
|
||||
* If queue_full, then try to reduce queue depth for all
|
||||
* LUNS on the target. Todo: this should be accompanied
|
||||
* by a periodic queue_depth rampup based on successful
|
||||
* IO completion.
|
||||
*/
|
||||
if (icmnd_cmpl->scsi_status == QUEUE_FULL) {
|
||||
struct scsi_device *t_sdev;
|
||||
int qd = 0;
|
||||
|
||||
shost_for_each_device(t_sdev, sc->device->host) {
|
||||
if (t_sdev->id != sc->device->id)
|
||||
continue;
|
||||
|
||||
if (t_sdev->queue_depth > 1) {
|
||||
qd = scsi_track_queue_full
|
||||
(t_sdev,
|
||||
t_sdev->queue_depth - 1);
|
||||
if (qd == -1)
|
||||
qd = t_sdev->host->cmd_per_lun;
|
||||
shost_printk(KERN_INFO,
|
||||
fnic->lport->host,
|
||||
"scsi[%d:%d:%d:%d"
|
||||
"] queue full detected,"
|
||||
"new depth = %d\n",
|
||||
t_sdev->host->host_no,
|
||||
t_sdev->channel,
|
||||
t_sdev->id, t_sdev->lun,
|
||||
t_sdev->queue_depth);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case FCPIO_TIMEOUT: /* request was timed out */
|
||||
|
|
Загрузка…
Ссылка в новой задаче