[PATCH v5 0/7] scsi: fixes for targets with many LUNs, and scsi_target_block rework

mwilck
2023-06-12T16:51:53Z

From: Martin Wilck <mwilck@suse.com>

This patch series addresses some issues we saw in a test setup
with a large number of SCSI LUNs. The first two patches simply
increase the number of available sg and bsg devices. 3-5 fix
a large delay we encountered between blocking a Fibre Channel
remote port and the dev_loss_tmo. 6 renames scsi_target_block()
to scsi_block_targets(), and makes additional changes to this API,
as suggested in the review of the v2 series. 7 improves a warning message.

Changes v4 -> v5:
- added 7/7 to improve the WARN_ON_ONCE in scsi_device_block() (Bart van Assche)
- 6/7: added WARN_ON_ONCE in scsi_block_targets() (Bart van Assche)
- 4/7: improved comment (Bart van Assche)
- Added tags

Changes v3 -> v4:
- skipped 4/8: keep state_mutex held while quiescing queue (Bart van Assche),
added a comment in 4/6 to explain the rationale
- renamed scsi_target_block() to scsi_block_targets() (Christoph Hellwig), and
merged the previous patches 7/8 and 8/8 modifying this API into 6/6.
- rebased to latest mkp/queue branch

Changes v2 -> v3:
- Split previous 3/3 into 4 separate patches as suggested by
Christoph Hellwig.
- Added 7/8 and 8/8, as suggested by Christoph and Bart van Assche.
- Added s-o-b and reviewed-by tags.

Changes v1 -> v2:
- call blk_mq_wait_quiesce_done() from scsi_target_block() to
cover the case where BLK_MQ_F_BLOCKING is set (Bart van Assche)

Hannes Reinecke (2):
bsg: increase number of devices
scsi: sg: increase number of devices

Martin Wilck (5):
scsi: merge scsi_internal_device_block() and device_block()
scsi: don't wait for quiesce in scsi_stop_queue()
scsi: don't wait for quiesce in scsi_device_block()
scsi: replace scsi_target_block() by scsi_block_targets()
scsi: improve warning message in scsi_device_block()

block/bsg.c | 2 +-
drivers/scsi/scsi_lib.c | 79 ++++++++++++++---------------
drivers/scsi/scsi_transport_fc.c | 2 +-
drivers/scsi/scsi_transport_iscsi.c | 3 +-
drivers/scsi/scsi_transport_srp.c | 6 +--
drivers/scsi/sg.c | 2 +-
drivers/scsi/snic/snic_disc.c | 2 +-
include/scsi/scsi_device.h | 2 +-
8 files changed, 49 insertions(+), 49 deletions(-)

--
2.40.1