On 05/29/2018 06:52 AM, Christoph Hellwig wrote: > libiscsi is the only SCSI code that return BLK_EH_HANDLED, thus trying to > bypass the normal SCSI EH code. We are going to remove this return value > at the block layer, and at least from a quick look it doesn't look too > harmful to try to send an abort for these cases, especially as the first > one should not actually be possible. If this doesn't work out iscsi > will probably need its own eh_strategy_handler instead to just do the > right thing. > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> > --- > drivers/scsi/libiscsi.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c > index eee43ba83a60..71bdc0b52cf9 100644 > --- a/drivers/scsi/libiscsi.c > +++ b/drivers/scsi/libiscsi.c > @@ -1982,7 +1982,7 @@ enum blk_eh_timer_return iscsi_eh_cmd_timed_out(struct scsi_cmnd *sc) > * Raced with completion. Blk layer has taken ownership > * so let timeout code complete it now. > */ > - rc = BLK_EH_HANDLED; > + rc = BLK_EH_DONE; > goto done; > } > > @@ -1997,7 +1997,7 @@ enum blk_eh_timer_return iscsi_eh_cmd_timed_out(struct scsi_cmnd *sc) > if (unlikely(system_state != SYSTEM_RUNNING)) { > sc->result = DID_NO_CONNECT << 16; > ISCSI_DBG_EH(session, "sc on shutdown, handled\n"); > - rc = BLK_EH_HANDLED; > + rc = BLK_EH_DONE; > goto done; > } > /* > looks good to me. Signed-off-by: Lee Duncan <lduncan@xxxxxxxx>