Re: [RFC PATCH v3 04/19] scsi: scsi_error: Add helper scsi_eh_sdev_stu to do START_UNIT
From: JiangJianJun
Date: Tue Jun 24 2025 - 23:37:32 EST
> From: Wenchao Hao <haowenchao2@xxxxxxxxxx>
>
> Add helper function scsi_eh_sdev_stu() to perform START_UNIT and check
> if to finish some error commands.
>
> > This is preparation for a genernal LUN/target based error handle
> > strategy and did not change original logic.
> >
> > Signed-off-by: Wenchao Hao <haowenchao2@xxxxxxxxxx>
> > ---
> > drivers/scsi/scsi_error.c | 50 +++++++++++++++++++++++----------------
> > 1 file changed, 29 insertions(+), 21 deletions(-)
> >
> > diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c
> > index cc3a5adb9daa..3b55642fb585 100644
> > --- a/drivers/scsi/scsi_error.c
> > +++ b/drivers/scsi/scsi_error.c
> > @@ -1567,6 +1567,31 @@ static int scsi_eh_try_stu(struct scsi_cmnd
*scmd)
> > return 1;
> > }
> >
> > +static int scsi_eh_sdev_stu(struct scsi_cmnd *scmd,
> > + struct list_head *work_q,
> > + struct list_head *done_q)
> > +{
> > + struct scsi_device *sdev = scmd->device;
> > + struct scsi_cmnd *next;
> > +
> > + SCSI_LOG_ERROR_RECOVERY(3, sdev_printk(KERN_INFO, sdev,
> > + "%s: Sending START_UNIT\n", current->comm));
> > +
>
> As in the scsi_eh_stu, SCSI_SENSE_VALID and scsi_check_sense is required
> before calling scsi_eh_try_stu.
But the SCSI_SENSE_VALID and scsi_check_sense has been called before
calling scsi_eh_try_stu, see in loop devices in scsi_eh_stu, do you
means re-call at here?