All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wenchao Hao <haowenchao2@huawei.com>
To: "James E . J . Bottomley" <jejb@linux.ibm.com>,
	"Martin K . Petersen" <martin.petersen@oracle.com>,
	<linux-scsi@vger.kernel.org>
Cc: <linux-kernel@vger.kernel.org>, <louhongxiang@huawei.com>,
	Wenchao Hao <haowenchao2@huawei.com>
Subject: [PATCH v3 0/4] SCSI: Fix issues between removing device and error handle
Date: Mon, 16 Oct 2023 10:03:10 +0800	[thread overview]
Message-ID: <20231016020314.1269636-1-haowenchao2@huawei.com> (raw)

I am testing SCSI error handle with my previous scsi_debug error
injection patches, and found some issues when removing device and
error handler happened together.

These issues are triggered because devices in removing would be skipped
when calling shost_for_each_device().

Three issues are found:
1. statistic info printed at beginning of scsi_error_handler is wrong
2. device reset is not triggered
3. IO requeued to request_queue would be hang after error handle

V3:
  - Update patch description
  - Update comments of functions added

V2:
  - Fix IO hang by run all devices' queue after error handler
  - Do not modify shost_for_each_device() directly but add a new
    helper to iterate devices but do not skip devices in removing

Wenchao Hao (4):
  scsi: core: Add new helper to iterate all devices of host
  scsi: scsi_error: Fix wrong statistic when print error info
  scsi: scsi_error: Fix device reset is not triggered
  scsi: scsi_core: Fix IO hang when device removing

 drivers/scsi/scsi.c        | 46 ++++++++++++++++++++++++++------------
 drivers/scsi/scsi_error.c  |  4 ++--
 drivers/scsi/scsi_lib.c    |  2 +-
 include/scsi/scsi_device.h | 25 ++++++++++++++++++---
 4 files changed, 57 insertions(+), 20 deletions(-)

-- 
2.32.0


             reply	other threads:[~2023-10-16  2:03 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-16  2:03 Wenchao Hao [this message]
2023-10-16  2:03 ` [PATCH v3 1/4] scsi: core: Add new helper to iterate all devices of host Wenchao Hao
2023-10-17 15:31   ` kernel test robot
2023-10-16  2:03 ` [PATCH v3 2/4] scsi: scsi_error: Fix wrong statistic when print error info Wenchao Hao
2023-10-16  2:03 ` [PATCH v3 3/4] scsi: scsi_error: Fix device reset is not triggered Wenchao Hao
2023-10-16  2:03 ` [PATCH v3 4/4] scsi: scsi_core: Fix IO hang when device removing Wenchao Hao
2023-11-14 21:23   ` Mike Christie
2023-11-14 21:47     ` Mike Christie
2023-11-15 16:24       ` Wenchao Hao
2024-03-07 14:36   ` Wenchao Hao
2023-10-17 17:00 ` [PATCH v3 0/4] SCSI: Fix issues between removing device and error handle Wenchao Hao
2023-10-17 21:41   ` Bart Van Assche
2023-10-18  1:37     ` Wenchao Hao
2023-10-18 13:51       ` Bart Van Assche
2023-10-18 14:40         ` Wenchao Hao
2023-10-18 18:03           ` Bart Van Assche
2023-11-13 16:00 ` Wenchao Hao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231016020314.1269636-1-haowenchao2@huawei.com \
    --to=haowenchao2@huawei.com \
    --cc=jejb@linux.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=louhongxiang@huawei.com \
    --cc=martin.petersen@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.