Skip to content

Commit

Permalink
block: rename BLK_EH_NOT_HANDLED to BLK_EH_DONE
Browse files Browse the repository at this point in the history
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 <[email protected]>
Reviewed-by: Hannes Reinecke <[email protected]>
Reviewed-by: Johannes Thumshirn <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
  • Loading branch information
Christoph Hellwig authored and axboe committed May 29, 2018
1 parent 12f5b93 commit 6600593
Show file tree
Hide file tree
Showing 17 changed files with 25 additions and 25 deletions.
4 changes: 2 additions & 2 deletions Documentation/scsi/scsi_eh.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
2 changes: 1 addition & 1 deletion block/blk-mq.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
2 changes: 1 addition & 1 deletion block/blk-timeout.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion drivers/block/nbd.c
Original file line number Diff line number Diff line change
Expand Up @@ -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),
Expand Down
2 changes: 1 addition & 1 deletion drivers/message/fusion/mptsas.c
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down
6 changes: 3 additions & 3 deletions drivers/s390/block/dasd.c
Original file line number Diff line number Diff line change
Expand Up @@ -3053,7 +3053,7 @@ static blk_status_t do_dasd_request(struct blk_mq_hw_ctx *hctx,
*
* 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)
Expand All @@ -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;
Expand Down Expand Up @@ -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,
Expand Down
2 changes: 1 addition & 1 deletion drivers/scsi/gdth.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion drivers/scsi/libiscsi.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion drivers/scsi/megaraid/megaraid_sas_base.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion drivers/scsi/mvumi.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion drivers/scsi/qla4xxx/ql4_os.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
4 changes: 2 additions & 2 deletions drivers/scsi/scsi_error.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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);
Expand Down
4 changes: 2 additions & 2 deletions drivers/scsi/scsi_transport_fc.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down Expand Up @@ -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;
}
Expand Down
4 changes: 2 additions & 2 deletions drivers/scsi/scsi_transport_srp.c
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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);

Expand Down
6 changes: 3 additions & 3 deletions drivers/scsi/ufs/ufshcd.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand All @@ -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[] = {
Expand Down
2 changes: 1 addition & 1 deletion include/linux/blkdev.h
Original file line number Diff line number Diff line change
Expand Up @@ -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,
};
Expand Down
2 changes: 1 addition & 1 deletion include/scsi/scsi_host.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
*/
Expand Down

0 comments on commit 6600593

Please sign in to comment.