[<prev] [next>] [day] [month] [year] [list]
Message-ID: <0088ad17-37cd-4425-bfca-d03595c91cd2@huawei.com>
Date: Wed, 25 Jun 2025 11:37:09 +0800
From: JiangJianJun <jiangjianjun3@...wei.com>
To: <lidiangang@...edance.com>
CC: <jejb@...ux.ibm.com>, <martin.petersen@...cle.com>,
<linux-scsi@...r.kernel.org>, <hare@...e.de>, <linux-kernel@...r.kernel.org>,
<lixiaokeng@...wei.com>, <hewenliang4@...wei.com>, <yangkunlin7@...wei.com>,
<changfengnan@...edance.com>
Subject: Re: [RFC PATCH v3 04/19] scsi: scsi_error: Add helper
scsi_eh_sdev_stu to do START_UNIT
> From: Wenchao Hao <haowenchao2@...wei.com>
>
> 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@...wei.com>
> > ---
> > 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?
Powered by blists - more mailing lists