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 callsbacks. The first patch is actually a bug fix and should probably go into 6.9-rc. The other would probably best be in a shared branch between the block and scsi code, as the ULD drivers will be a lot more extensive. I'm actually scratching my head on dealing with some of the updates that it does from the I/O completion handler and ->open calls for already open devices. Suggestions welcome.. Diffstat: block/blk-settings.c | 248 ---------------------------- block/bsg-lib.c | 6 drivers/ata/ahci.h | 2 drivers/ata/libata-sata.c | 10 - 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 | 79 ++++---- 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 | 13 - 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, 335 insertions(+), 601 deletions(-)