Re: [External] Re: [RFC PATCH v3 04/19] scsi: scsi_error: Add helper scsi_eh_sdev_stu to do START_UNIT
From: Diangang Li
Date: Thu Jun 26 2025 - 02:57:56 EST
On Wed, Jun 25, 2025 at 11:37:09AM +0800, JiangJianJun wrote:
> > 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?
No, I meant that SCSI_SENSE_VALID and scsi_check_sense are required in
scsi_eh_sdev_stu, or perhaps we could move them into scsi_eh_sdev_stu.