Hi Martin,
As explained in a recent LSF/MM topic proposal, it can happen that the SCSI
error handler calls .queuecommand() for a blocked SCSI device. SCSI LLDs do
not expect this. Hence this patch series. Please consider this series for
kernel v5.3.
Thanks,
Bart.
Changes compared to v3:
- Instead of converting sysfs attempts to change the SCSI device state into
"blocked" into "quiesced", refuse attempts to change the SCSI device into
anything else than "offline" or "running".
- In patch 2/2, remove a "to do" comment above scsi_internal_device_block().
Changes compared to v2:
- Added a patch that converts SDEV_BLOCK into SDEV_QUIESCE for requests
received through sysfs to change the SCSI device state.
Changes compared to v1:
- Wait on SDEV_BLOCK instead of SDEV_QUIESCE in the SCSI error handler.
Bart Van Assche (3):
scsi: Restrict user space SCSI device state changes to "running" and
"offfline"
scsi: Avoid that .queuecommand() gets called for a blocked SCSI device
RDMA/srp: Fix a sleep-in-invalid-context bug
drivers/infiniband/ulp/srp/ib_srp.c | 21 ++-------------------
drivers/scsi/scsi_error.c | 26 ++++++++++++++++++++++++--
drivers/scsi/scsi_lib.c | 4 ----
drivers/scsi/scsi_sysfs.c | 7 ++++++-
4 files changed, 32 insertions(+), 26 deletions(-)
--
2.22.0.rc3