mbox series

[v6,0/8] Prepare for constifying SCSI host templates

Message ID 20220929224421.587465-1-bvanassche@acm.org (mailing list archive)
Headers show
Series Prepare for constifying SCSI host templates | expand


Bart Van Assche Sept. 29, 2022, 10:44 p.m. UTC
Hi Martin,

This patch series prepares for constifying SCSI host templates by moving the
members that are not constant out of the SCSI host template. This patch series
is based on Linus' master branch instead of the SCSI for-next branch. Please
consider this patch series for the next merge window.



Changes compared to v5:
- Addressed John Garry's feedback on patch 4/7.
- Dropped the kernel/module patch and replaced it with a series of patches
  that rework the scsi_device_put() calls that happen from atomic context and
  one patch that makes scsi_device_put() synchronous.

Changes compared to v4:
- Added three additional patches: fail host creation if creating the proc
  directory fails, a use-after-free fix and an improvement for the kernel
  module unload code.

Changes compared to v3:
- Changed the 'present' counter from 8 to 32 bits.
- Fixed a bug in an error path (reported by John Garry).
- Split patch 1/3 into two patches.

Changes compared to v2:
- Optimized the show_info == NULL case.
- Added a patch that removes the code that clears the module pointer in the host

Changes compared to v1:
- Fix the CONFIG_SCSI_PROC_FS=n build.
Bart Van Assche (8):
  scsi: esas2r: Initialize two host template members implicitly
  scsi: esas2r: Introduce scsi_template_proc_dir()
  scsi: core: Fail host creation if creating the proc directory fails
  scsi: core: Introduce a new list for SCSI proc directory entries
  scsi: core: Rework scsi_single_lun_run()
  scsi: ufs: Simplify ufshcd_set_dev_pwr_mode()
  scsi: core: Remove the put_device() call from scsi_device_get()
  scsi: core: Release SCSI devices synchronously

 drivers/scsi/esas2r/esas2r_main.c |  19 +++--
 drivers/scsi/hosts.c              |   3 +-
 drivers/scsi/scsi.c               |  12 +--
 drivers/scsi/scsi_lib.c           |  32 ++++---
 drivers/scsi/scsi_priv.h          |   6 +-
 drivers/scsi/scsi_proc.c          | 137 +++++++++++++++++++++++++-----
 drivers/scsi/scsi_sysfs.c         |  12 +--
 drivers/ufs/core/ufshcd.c         |   9 +-
 include/scsi/scsi_device.h        |   1 -
 include/scsi/scsi_host.h          |  18 ++--
 10 files changed, 164 insertions(+), 85 deletions(-)