mbox series

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

Message ID 20230614103616.31857-1-mwilck@suse.com (mailing list archive)
Headers show
Series scsi: fixes for targets with many LUNs, and scsi_target_block rework | expand

Message

Martin Wilck June 14, 2023, 10:36 a.m. UTC
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 v6 -> v7
 - 6/7: fixed mistake I made inverting the argument order in v6
   (I apologize for overlooking this dumb mistake!!)

Changes v5 -> v6
 - 6/7: inverted order of arguments for scsi_block_targets (Christoph Hellwig), dropped "extern"
   (I took the liberty not to remove previous "Reviewed-by"'s because of this change)
 - 5/7: wrapped one over-long comment line
 - added tags

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             | 80 ++++++++++++++---------------
 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, 50 insertions(+), 49 deletions(-)

Comments

Martin K. Petersen June 16, 2023, 4:23 p.m. UTC | #1
Martin,

> 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.

Applied to 6.5/scsi-staging, thanks!
Martin K. Petersen June 22, 2023, 1:26 a.m. UTC | #2
On Wed, 14 Jun 2023 12:36:09 +0200, mwilck@suse.com wrote:

> 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.
> 
> [...]

Applied to 6.5/scsi-queue, thanks!

[1/7] bsg: increase number of devices
      https://git.kernel.org/mkp/scsi/c/9077fb2ab78c
[2/7] scsi: sg: increase number of devices
      https://git.kernel.org/mkp/scsi/c/37c918e03ef7
[3/7] scsi: merge scsi_internal_device_block() and device_block()
      https://git.kernel.org/mkp/scsi/c/c5e46f7ad43b
[4/7] scsi: don't wait for quiesce in scsi_stop_queue()
      https://git.kernel.org/mkp/scsi/c/d7035b73a73a
[5/7] scsi: don't wait for quiesce in scsi_device_block()
      https://git.kernel.org/mkp/scsi/c/e20fff8a1f49
[6/7] scsi: replace scsi_target_block() by scsi_block_targets()
      https://git.kernel.org/mkp/scsi/c/31950192d939
[7/7] scsi: improve warning message in scsi_device_block()
      https://git.kernel.org/mkp/scsi/c/6d7160c7da6f