|
|
Log in / Subscribe / Register

convert SCSI to atomic queue limits, part 1 (v3)

From:  Christoph Hellwig <hch-AT-lst.de>
To:  Jens Axboe <axboe-AT-kernel.dk>, "Martin K. Petersen" <martin.petersen-AT-oracle.com>
Subject:  convert SCSI to atomic queue limits, part 1 (v3)
Date:  Tue, 09 Apr 2024 16:37:25 +0200
Message-ID:  <20240409143748.980206-1-hch@lst.de>
Cc:  Damien Le Moal <dlemoal-AT-kernel.org>, Niklas Cassel <cassel-AT-kernel.org>, Takashi Sakamoto <o-takashi-AT-sakamocchi.jp>, Sathya Prakash <sathya.prakash-AT-broadcom.com>, Sreekanth Reddy <sreekanth.reddy-AT-broadcom.com>, Suganath Prabu Subramani <suganath-prabu.subramani-AT-broadcom.com>, "Juergen E. Fischer" <fischer-AT-norbit.de>, Xiang Chen <chenxiang66-AT-hisilicon.com>, HighPoint Linux Team <linux-AT-highpoint-tech.com>, Tyrel Datwyler <tyreld-AT-linux.ibm.com>, Brian King <brking-AT-us.ibm.com>, Lee Duncan <lduncan-AT-suse.com>, Chris Leech <cleech-AT-redhat.com>, Mike Christie <michael.christie-AT-oracle.com>, John Garry <john.g.garry-AT-oracle.com>, Jason Yan <yanaijie-AT-huawei.com>, Kashyap Desai <kashyap.desai-AT-broadcom.com>, Sumit Saxena <sumit.saxena-AT-broadcom.com>, Shivasharan S <shivasharan.srikanteshwara-AT-broadcom.com>, Chandrakanth patil <chandrakanth.patil-AT-broadcom.com>, Jack Wang <jinpu.wang-AT-cloud.ionos.com>, Nilesh Javali <njavali-AT-marvell.com>, GR-QLogic-Storage-Upstream-AT-marvell.com, Greg Kroah-Hartman <gregkh-AT-linuxfoundation.org>, Alim Akhtar <alim.akhtar-AT-samsung.com>, Avri Altman <avri.altman-AT-wdc.com>, Bart Van Assche <bvanassche-AT-acm.org>, Krzysztof Kozlowski <krzysztof.kozlowski-AT-linaro.org>, Alan Stern <stern-AT-rowland.harvard.edu>, linux-block-AT-vger.kernel.org, linux-ide-AT-vger.kernel.org, linux1394-devel-AT-lists.sourceforge.net, MPT-FusionLinux.pdl-AT-broadcom.com, linux-scsi-AT-vger.kernel.org, megaraidlinux.pdl-AT-broadcom.com, mpi3mr-linuxdrv.pdl-AT-broadcom.com, linux-samsung-soc-AT-vger.kernel.org, linux-usb-AT-vger.kernel.org, usb-storage-AT-lists.one-eyed-alien.net
Archive-link:  Article

Hi all,

this series converts the SCSI midlayer and LLDDs to use atomic queue limits
API.  It is pretty straight forward, except for the mpt3mr driver which
does really weird and probably already broken things by setting limits
from unlocked device iteration callbacks.

I will probably defer the (more complicated) ULD changes to the next
merge window as they would heavily conflict with Damien's zone write
plugging series.  With that the series could go in through the SCSI
tree if Jens' ACKs the core block layer bits.

Changes since v2:
 - rebased on top of the scsi-queue tree with libsas cleanups
 - fix another commit log typo

Changes since v1:
 - print a different warning message for queue_limits_commit failure vs
   ->device_configure failure
 - cancel the queue limits update when ->device_configure fails
 - spelling fixes
 - improve comments

Diffstat:
 block/blk-settings.c                        |  245 ----------------------------
 block/bsg-lib.c                             |    6 
 drivers/ata/ahci.h                          |    2 
 drivers/ata/libata-sata.c                   |   11 -
 drivers/ata/libata-scsi.c                   |   19 +-
 drivers/ata/libata.h                        |    3 
 drivers/ata/pata_macio.c                    |   11 -
 drivers/ata/sata_mv.c                       |    2 
 drivers/ata/sata_nv.c                       |   24 +-
 drivers/ata/sata_sil24.c                    |    2 
 drivers/firewire/sbp2.c                     |   13 -
 drivers/message/fusion/mptfc.c              |    1 
 drivers/message/fusion/mptsas.c             |    1 
 drivers/message/fusion/mptscsih.c           |    2 
 drivers/message/fusion/mptspi.c             |    1 
 drivers/s390/block/dasd_eckd.c              |    6 
 drivers/scsi/aha152x.c                      |    8 
 drivers/scsi/aic94xx/aic94xx_init.c         |    2 
 drivers/scsi/hisi_sas/hisi_sas.h            |    3 
 drivers/scsi/hisi_sas/hisi_sas_main.c       |    7 
 drivers/scsi/hisi_sas/hisi_sas_v1_hw.c      |    2 
 drivers/scsi/hisi_sas/hisi_sas_v2_hw.c      |    2 
 drivers/scsi/hisi_sas/hisi_sas_v3_hw.c      |    7 
 drivers/scsi/hosts.c                        |    6 
 drivers/scsi/hptiop.c                       |    8 
 drivers/scsi/ibmvscsi/ibmvfc.c              |    5 
 drivers/scsi/imm.c                          |   12 -
 drivers/scsi/ipr.c                          |   10 -
 drivers/scsi/isci/init.c                    |    2 
 drivers/scsi/iscsi_tcp.c                    |    2 
 drivers/scsi/libsas/sas_scsi_host.c         |    7 
 drivers/scsi/megaraid/megaraid_sas.h        |    2 
 drivers/scsi/megaraid/megaraid_sas_base.c   |   29 +--
 drivers/scsi/megaraid/megaraid_sas_fusion.c |    3 
 drivers/scsi/mpi3mr/mpi3mr.h                |    1 
 drivers/scsi/mpi3mr/mpi3mr_app.c            |   12 -
 drivers/scsi/mpi3mr/mpi3mr_os.c             |   76 +++-----
 drivers/scsi/mpt3sas/mpt3sas_scsih.c        |   18 --
 drivers/scsi/mvsas/mv_init.c                |    2 
 drivers/scsi/pm8001/pm8001_init.c           |    2 
 drivers/scsi/pmcraid.c                      |   11 -
 drivers/scsi/ppa.c                          |    8 
 drivers/scsi/qla2xxx/qla_os.c               |    6 
 drivers/scsi/scsi_lib.c                     |   40 +---
 drivers/scsi/scsi_scan.c                    |   74 ++++----
 drivers/scsi/scsi_transport_fc.c            |   15 +
 drivers/scsi/scsi_transport_iscsi.c         |    6 
 drivers/scsi/scsi_transport_sas.c           |    4 
 drivers/staging/rts5208/rtsx.c              |   24 +-
 drivers/ufs/core/ufs_bsg.c                  |    3 
 drivers/ufs/core/ufshcd.c                   |    3 
 drivers/ufs/host/ufs-exynos.c               |    8 
 drivers/usb/image/microtek.c                |    8 
 drivers/usb/storage/scsiglue.c              |   57 ++----
 drivers/usb/storage/uas.c                   |   29 +--
 drivers/usb/storage/usb.c                   |   10 +
 include/linux/blkdev.h                      |   26 +-
 include/linux/bsg-lib.h                     |    3 
 include/linux/libata.h                      |   10 -
 include/linux/mmc/host.h                    |    4 
 include/scsi/libsas.h                       |    3 
 include/scsi/scsi_host.h                    |    9 +
 include/scsi/scsi_transport.h               |    2 
 include/scsi/scsi_transport_fc.h            |    1 
 include/ufs/ufshcd.h                        |    1 
 65 files changed, 347 insertions(+), 595 deletions(-)



Copyright © 2024, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds