Messages in this thread | | | From | Wenchao Hao <> | Subject | [PATCH v4 0/3] SCSI: Fix issues between removing device and error handle | Date | Thu, 7 Mar 2024 22:43:08 +0800 |
| |
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().
The issues are found: 1. statistic info printed at beginning of scsi_error_handler is wrong 2. device reset is not triggered
V4: - Remove the forth patch which fix IO hang when device removing becaust the issue is fixed by commit '6df0e077d76bd (scsi: core: Kick the requeue list after inserting when flushing)'
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 (3): 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
drivers/scsi/scsi.c | 46 ++++++++++++++++++++++++++------------ drivers/scsi/scsi_error.c | 4 ++-- include/scsi/scsi_device.h | 25 ++++++++++++++++++--- 3 files changed, 56 insertions(+), 19 deletions(-)
-- 2.32.0
| |