block: rename BLK_EH_NOT_HANDLED to BLK_EH_DONE
The BLK_EH_NOT_HANDLED implies nothing happen, but very often that is not what is happening - instead the driver already completed the command. Fix the symbolic name to reflect that a little better. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Hannes Reinecke <hare@suse.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
12f5b93145
commit
6600593cbd
|
@ -97,9 +97,9 @@ function
|
|||
This indicates that more time is required to finish the
|
||||
command. Timer is restarted. This action is counted as a
|
||||
retry and only allowed scmd->allowed + 1(!) times. Once the
|
||||
limit is reached, action for BLK_EH_NOT_HANDLED is taken instead.
|
||||
limit is reached, action for BLK_EH_DONE is taken instead.
|
||||
|
||||
- BLK_EH_NOT_HANDLED
|
||||
- BLK_EH_DONE
|
||||
eh_timed_out() callback did not handle the command.
|
||||
Step #2 is taken.
|
||||
|
||||
|
|
|
@ -784,7 +784,7 @@ static void blk_mq_rq_timed_out(struct request *req, bool reserved)
|
|||
case BLK_EH_RESET_TIMER:
|
||||
blk_add_timer(req);
|
||||
break;
|
||||
case BLK_EH_NOT_HANDLED:
|
||||
case BLK_EH_DONE:
|
||||
break;
|
||||
default:
|
||||
printk(KERN_ERR "block: bad eh return: %d\n", ret);
|
||||
|
|
|
@ -93,7 +93,7 @@ static void blk_rq_timed_out(struct request *req)
|
|||
blk_add_timer(req);
|
||||
blk_clear_rq_complete(req);
|
||||
break;
|
||||
case BLK_EH_NOT_HANDLED:
|
||||
case BLK_EH_DONE:
|
||||
/*
|
||||
* LLD handles this for now but in the future
|
||||
* we can send a request msg to abort the command
|
||||
|
|
|
@ -332,7 +332,7 @@ static enum blk_eh_timer_return nbd_xmit_timeout(struct request *req,
|
|||
}
|
||||
blk_mq_requeue_request(req, true);
|
||||
nbd_config_put(nbd);
|
||||
return BLK_EH_NOT_HANDLED;
|
||||
return BLK_EH_DONE;
|
||||
}
|
||||
} else {
|
||||
dev_err_ratelimited(nbd_to_dev(nbd),
|
||||
|
|
|
@ -1929,7 +1929,7 @@ static enum blk_eh_timer_return mptsas_eh_timed_out(struct scsi_cmnd *sc)
|
|||
MPT_SCSI_HOST *hd;
|
||||
MPT_ADAPTER *ioc;
|
||||
VirtDevice *vdevice;
|
||||
enum blk_eh_timer_return rc = BLK_EH_NOT_HANDLED;
|
||||
enum blk_eh_timer_return rc = BLK_EH_DONE;
|
||||
|
||||
hd = shost_priv(sc->device->host);
|
||||
if (hd == NULL) {
|
||||
|
|
|
@ -3053,7 +3053,7 @@ out:
|
|||
*
|
||||
* Return values:
|
||||
* BLK_EH_RESET_TIMER if the request should be left running
|
||||
* BLK_EH_NOT_HANDLED if the request is handled or terminated
|
||||
* BLK_EH_DONE if the request is handled or terminated
|
||||
* by the driver.
|
||||
*/
|
||||
enum blk_eh_timer_return dasd_times_out(struct request *req, bool reserved)
|
||||
|
@ -3065,7 +3065,7 @@ enum blk_eh_timer_return dasd_times_out(struct request *req, bool reserved)
|
|||
int rc = 0;
|
||||
|
||||
if (!cqr)
|
||||
return BLK_EH_NOT_HANDLED;
|
||||
return BLK_EH_DONE;
|
||||
|
||||
spin_lock_irqsave(&cqr->dq->lock, flags);
|
||||
device = cqr->startdev ? cqr->startdev : block->base;
|
||||
|
@ -3124,7 +3124,7 @@ enum blk_eh_timer_return dasd_times_out(struct request *req, bool reserved)
|
|||
spin_unlock(&block->queue_lock);
|
||||
spin_unlock_irqrestore(&cqr->dq->lock, flags);
|
||||
|
||||
return rc ? BLK_EH_RESET_TIMER : BLK_EH_NOT_HANDLED;
|
||||
return rc ? BLK_EH_RESET_TIMER : BLK_EH_DONE;
|
||||
}
|
||||
|
||||
static int dasd_init_hctx(struct blk_mq_hw_ctx *hctx, void *data,
|
||||
|
|
|
@ -3882,7 +3882,7 @@ static enum blk_eh_timer_return gdth_timed_out(struct scsi_cmnd *scp)
|
|||
struct gdth_cmndinfo *cmndinfo = gdth_cmnd_priv(scp);
|
||||
u8 b, t;
|
||||
unsigned long flags;
|
||||
enum blk_eh_timer_return retval = BLK_EH_NOT_HANDLED;
|
||||
enum blk_eh_timer_return retval = BLK_EH_DONE;
|
||||
|
||||
TRACE(("%s() cmd 0x%x\n", scp->cmnd[0], __func__));
|
||||
b = scp->device->channel;
|
||||
|
|
|
@ -1963,7 +1963,7 @@ static int iscsi_has_ping_timed_out(struct iscsi_conn *conn)
|
|||
|
||||
enum blk_eh_timer_return iscsi_eh_cmd_timed_out(struct scsi_cmnd *sc)
|
||||
{
|
||||
enum blk_eh_timer_return rc = BLK_EH_NOT_HANDLED;
|
||||
enum blk_eh_timer_return rc = BLK_EH_DONE;
|
||||
struct iscsi_task *task = NULL, *running_task;
|
||||
struct iscsi_cls_session *cls_session;
|
||||
struct iscsi_session *session;
|
||||
|
|
|
@ -2772,7 +2772,7 @@ blk_eh_timer_return megasas_reset_timer(struct scsi_cmnd *scmd)
|
|||
|
||||
if (time_after(jiffies, scmd->jiffies_at_alloc +
|
||||
(scmd_timeout * 2) * HZ)) {
|
||||
return BLK_EH_NOT_HANDLED;
|
||||
return BLK_EH_DONE;
|
||||
}
|
||||
|
||||
instance = (struct megasas_instance *)scmd->device->host->hostdata;
|
||||
|
|
|
@ -2155,7 +2155,7 @@ static enum blk_eh_timer_return mvumi_timed_out(struct scsi_cmnd *scmd)
|
|||
mvumi_return_cmd(mhba, cmd);
|
||||
spin_unlock_irqrestore(mhba->shost->host_lock, flags);
|
||||
|
||||
return BLK_EH_NOT_HANDLED;
|
||||
return BLK_EH_DONE;
|
||||
}
|
||||
|
||||
static int
|
||||
|
|
|
@ -1848,7 +1848,7 @@ static enum blk_eh_timer_return qla4xxx_eh_cmd_timed_out(struct scsi_cmnd *sc)
|
|||
struct iscsi_cls_session *session;
|
||||
struct iscsi_session *sess;
|
||||
unsigned long flags;
|
||||
enum blk_eh_timer_return ret = BLK_EH_NOT_HANDLED;
|
||||
enum blk_eh_timer_return ret = BLK_EH_DONE;
|
||||
|
||||
session = starget_to_session(scsi_target(sc->device));
|
||||
sess = session->dd_data;
|
||||
|
|
|
@ -282,7 +282,7 @@ void scsi_eh_scmd_add(struct scsi_cmnd *scmd)
|
|||
enum blk_eh_timer_return scsi_times_out(struct request *req)
|
||||
{
|
||||
struct scsi_cmnd *scmd = blk_mq_rq_to_pdu(req);
|
||||
enum blk_eh_timer_return rtn = BLK_EH_NOT_HANDLED;
|
||||
enum blk_eh_timer_return rtn = BLK_EH_DONE;
|
||||
struct Scsi_Host *host = scmd->device->host;
|
||||
|
||||
trace_scsi_dispatch_cmd_timeout(scmd);
|
||||
|
@ -294,7 +294,7 @@ enum blk_eh_timer_return scsi_times_out(struct request *req)
|
|||
if (host->hostt->eh_timed_out)
|
||||
rtn = host->hostt->eh_timed_out(scmd);
|
||||
|
||||
if (rtn == BLK_EH_NOT_HANDLED) {
|
||||
if (rtn == BLK_EH_DONE) {
|
||||
if (scsi_abort_command(scmd) != SUCCESS) {
|
||||
set_host_byte(scmd, DID_TIME_OUT);
|
||||
scsi_eh_scmd_add(scmd);
|
||||
|
|
|
@ -2087,7 +2087,7 @@ fc_eh_timed_out(struct scsi_cmnd *scmd)
|
|||
if (rport->port_state == FC_PORTSTATE_BLOCKED)
|
||||
return BLK_EH_RESET_TIMER;
|
||||
|
||||
return BLK_EH_NOT_HANDLED;
|
||||
return BLK_EH_DONE;
|
||||
}
|
||||
EXPORT_SYMBOL(fc_eh_timed_out);
|
||||
|
||||
|
@ -3592,7 +3592,7 @@ fc_bsg_job_timeout(struct request *req)
|
|||
|
||||
/* the blk_end_sync_io() doesn't check the error */
|
||||
if (!inflight)
|
||||
return BLK_EH_NOT_HANDLED;
|
||||
return BLK_EH_DONE;
|
||||
else
|
||||
return BLK_EH_HANDLED;
|
||||
}
|
||||
|
|
|
@ -587,7 +587,7 @@ EXPORT_SYMBOL(srp_reconnect_rport);
|
|||
*
|
||||
* If a timeout occurs while an rport is in the blocked state, ask the SCSI
|
||||
* EH to continue waiting (BLK_EH_RESET_TIMER). Otherwise let the SCSI core
|
||||
* handle the timeout (BLK_EH_NOT_HANDLED).
|
||||
* handle the timeout (BLK_EH_DONE).
|
||||
*
|
||||
* Note: This function is called from soft-IRQ context and with the request
|
||||
* queue lock held.
|
||||
|
@ -602,7 +602,7 @@ enum blk_eh_timer_return srp_timed_out(struct scsi_cmnd *scmd)
|
|||
pr_debug("timeout for sdev %s\n", dev_name(&sdev->sdev_gendev));
|
||||
return rport->fast_io_fail_tmo < 0 && rport->dev_loss_tmo < 0 &&
|
||||
i->f->reset_timer_if_blocked && scsi_device_blocked(sdev) ?
|
||||
BLK_EH_RESET_TIMER : BLK_EH_NOT_HANDLED;
|
||||
BLK_EH_RESET_TIMER : BLK_EH_DONE;
|
||||
}
|
||||
EXPORT_SYMBOL(srp_timed_out);
|
||||
|
||||
|
|
|
@ -6497,12 +6497,12 @@ static enum blk_eh_timer_return ufshcd_eh_timed_out(struct scsi_cmnd *scmd)
|
|||
bool found = false;
|
||||
|
||||
if (!scmd || !scmd->device || !scmd->device->host)
|
||||
return BLK_EH_NOT_HANDLED;
|
||||
return BLK_EH_DONE;
|
||||
|
||||
host = scmd->device->host;
|
||||
hba = shost_priv(host);
|
||||
if (!hba)
|
||||
return BLK_EH_NOT_HANDLED;
|
||||
return BLK_EH_DONE;
|
||||
|
||||
spin_lock_irqsave(host->host_lock, flags);
|
||||
|
||||
|
@ -6520,7 +6520,7 @@ static enum blk_eh_timer_return ufshcd_eh_timed_out(struct scsi_cmnd *scmd)
|
|||
* SCSI command was not actually dispatched to UFS driver, otherwise
|
||||
* let SCSI layer handle the error as usual.
|
||||
*/
|
||||
return found ? BLK_EH_NOT_HANDLED : BLK_EH_RESET_TIMER;
|
||||
return found ? BLK_EH_DONE : BLK_EH_RESET_TIMER;
|
||||
}
|
||||
|
||||
static const struct attribute_group *ufshcd_driver_groups[] = {
|
||||
|
|
|
@ -326,7 +326,7 @@ typedef int (init_rq_fn)(struct request_queue *, struct request *, gfp_t);
|
|||
typedef void (exit_rq_fn)(struct request_queue *, struct request *);
|
||||
|
||||
enum blk_eh_timer_return {
|
||||
BLK_EH_NOT_HANDLED,
|
||||
BLK_EH_DONE,
|
||||
BLK_EH_HANDLED,
|
||||
BLK_EH_RESET_TIMER,
|
||||
};
|
||||
|
|
|
@ -307,7 +307,7 @@ struct scsi_host_template {
|
|||
* EH_HANDLED: I fixed the error, please complete the command
|
||||
* EH_RESET_TIMER: I need more time, reset the timer and
|
||||
* begin counting again
|
||||
* EH_NOT_HANDLED Begin normal error recovery
|
||||
* EH_DONE: Begin normal error recovery
|
||||
*
|
||||
* Status: OPTIONAL
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue