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

mwilck
2023-06-07T18:23:48Z

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-6 fix
a large delay we encountered between blocking a Fibre Channel
remote port and the dev_loss_tmo. 7-8 apply additional changes
to scsi_target_block(), as suggested in the review of the v2 series.

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_BL*** SUBJECT HERE ***

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

Martin Wilck (6):
scsi: merge scsi_internal_device_block() and device_block()
scsi: call scsi_stop_queue() without state_mutex held
scsi: don't wait for quiesce in scsi_stop_queue()
scsi: don't wait for quiesce in scsi_device_block()
scsi: have scsi_target_block() expect a scsi_target parent argument
scsi: add Scsi_Host argument to scsi_target_block()

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

--
2.40.1