2023-06-29 12:56:19

by James Bottomley

[permalink] [raw]
Subject: [GIT PULL] first round of SCSI updates for the 6.4+ merge window

Updates to the usual drivers (ufs, pm80xx, libata-scsi, smartpqi, lpfc,
qla2xxx).  We have a couple of major core changes impacting other
systems: Command Duration Limits, which spills into block and ATA and
block level Persistent Reservation Operations, which touches block,
nvme, target and dm (both of which are added with merge commits
containing a cover letter explaining what's going on).

The patch is available here:

git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git scsi-misc

The short changelog is:

Abel Vesa (2):
scsi: ufs: ufs-qcom: Switch to the new ICE API
scsi: ufs: dt-bindings: qcom: Add ICE phandle

Adrian Hunter (1):
scsi: ufs: ufs-pci: Add support for Intel Arrow Lake

Akshat Jain (5):
scsi: pm80xx: Log port state during HW event
scsi: pm80xx: Log phy_id and port_id in the device registration request
scsi: pm80xx: Print port_id in HW events
scsi: pm80xx: Enable init logging
scsi: pm80xx: Log some HW events by default

Avri Altman (1):
scsi: ufs: core: Do not open code SZ_x

Azeem Shaikh (10):
scsi: ufs: Replace all non-returning strlcpy() with strscpy()
scsi: smartpqi: Replace all non-returning strlcpy() with strscpy()
scsi: sym53c8xx: Replace all non-returning strlcpy() with strscpy()
scsi: message: fusion: Replace all non-returning strlcpy() with strscpy()
scsi: libfcoe: Replace all non-returning strlcpy() with strscpy()
scsi: lpfc: Replace all non-returning strlcpy() with strscpy()
scsi: qla2xxx: Replace all non-returning strlcpy() with strscpy()
scsi: qla4xxx: Replace all non-returning strlcpy() with strscpy()
scsi: target: Replace all non-returning strlcpy() with strscpy()
scsi: bfa: Replace all non-returning strlcpy() with strscpy()

Bagas Sanjaya (3):
scsi: dc395x: Documentation: Reword original driver attribution
scsi: dc395x: Documentation: Replace non-functional twibble.org list
scsi: MAINTAINERS: Drop DC395x list and site

Bao D. Nguyen (7):
scsi: ufs: core: Add error handling for MCQ mode
scsi: ufs: mcq: Use ufshcd_mcq_poll_cqe_lock() in MCQ mode
scsi: ufs: mcq: Added ufshcd_mcq_abort()
scsi: ufs: mcq: Add support for cleaning up MCQ resources
scsi: ufs: mcq: Add supporting functions for MCQ abort
scsi: ufs: core: Update the ufshcd_clear_cmds() functionality
scsi: ufs: core: Combine 32-bit command_desc_base_addr_lo/hi

Bart Van Assche (13):
scsi: ufs: core: Remove a ufshcd_add_command_trace() call
scsi: ufs: core: Simplify driver shutdown
scsi: ufs: core: Move ufshcd_wl_shutdown()
scsi: ufs: core: Fix handling of lrbp->cmd
scsi: ufs: core: Increase the START STOP UNIT timeout from one to ten seconds
scsi: ufs: Ungate the clock synchronously
scsi: ufs: Declare ufshcd_{hold,release}() once
scsi: ufs: Conditionally enable the BLK_MQ_F_BLOCKING flag
scsi: core: Support setting BLK_MQ_F_BLOCKING
scsi: core: Rework scsi_host_block()
scsi: core: Only kick the requeue list if necessary
scsi: core: Trace SCSI sense data
scsi: core: Use min() instead of open-coding it

Bartosz Golaszewski (1):
scsi: dt-bindings: ufs: qcom: Add compatible for sa8775p

Bikash Hazarika (2):
scsi: qla2xxx: Correct the index of array
scsi: qla2xxx: Fix potential NULL pointer dereference

Changyuan Lyu (3):
scsi: pm80xx: Add fatal error checks
scsi: pm80xx: Add GET_NVMD timeout during probe
scsi: pm80xx: Update PHY state after hard reset

Christophe JAILLET (4):
scsi: qla2xxx: Drop useless LIST_HEAD
scsi: fnic: Use vzalloc()
scsi: virtio_scsi: Remove a useless function call
scsi: mpi3mr: Fix the type used for pointers to bitmap

Damien Le Moal (15):
scsi: block: Improve ioprio value validity checks
scsi: ata: libata-scsi: Fix ata_msense_control kdoc comment
scsi: ata: libata: Set read/write commands CDL index
scsi: ata: libata: Add ATA feature control sub-page translation
scsi: ata: libata-scsi: Add support for CDL pages mode sense
scsi: ata: libata-scsi: Handle CDL bits in ata_scsiop_maint_in()
scsi: ata: libata: Detect support for command duration limits
scsi: sd: Set read/write command CDL index
scsi: core: Allow enabling and disabling command duration limits
scsi: core: Detect support for command duration limits
scsi: core: Support Service Action in scsi_report_opcode()
scsi: core: Support retrieving sub-pages of mode pages
scsi: block: Introduce BLK_STS_DURATION_LIMIT
scsi: block: Introduce ioprio hints
scsi: block: ioprio: Clean up interface definition

Dan Carpenter (2):
scsi: qla2xxx: Fix end of loop test
scsi: ufs: ufs-mediatek: Delete some dead code

David Strahan (1):
scsi: smartpqi: Add new controller PCI IDs

Don Brace (5):
scsi: smartpqi: Update version to 2.1.22-040
scsi: smartpqi: Update copyright to 2023
scsi: smartpqi: Add sysfs entry for NUMA node in /sys/block/sdX/device
scsi: smartpqi: Fix byte aligned writew for ARM servers
scsi: smartpqi: Fix rare SAS transport memory leak

Gilbert Wu (1):
scsi: smartpqi: Add support for RAID NCQ priority

Gustavo A. R. Silva (3):
scsi: qla2xxx: Replace one-element array with DECLARE_FLEX_ARRAY() helper
scsi: lpfc: Avoid -Wstringop-overflow warning
scsi: lpfc: Replace one-element array with flexible-array member

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

Harshit Mogalapalli (1):
scsi: mpi3mr: Use -ENOMEM instead of -1 in mpi3mr_expander_add()

Jason Yan (4):
scsi: MAINTAINERS: Add a libsas entry
scsi: libsas: factor out sas_check_fanout_expander_topo()
scsi: libsas: Remove an empty branch in sas_check_parent_topology()
scsi: libsas: Simplify sas_check_eeds()

Jinhong Zhu (1):
scsi: qedf: Fix NULL dereference in error handling

Johannes Thumshirn (1):
scsi: sd: sd_zbc: Use PAGE_SECTORS_SHIFT

Justin Tee (18):
scsi: lpfc: Use struct_size() helper
scsi: lpfc: Fix incorrect big endian type assignments in FDMI and VMID paths
scsi: lpfc: Copyright updates for 14.2.0.13 patches
scsi: lpfc: Update lpfc version to 14.2.0.13
scsi: lpfc: Enhance congestion statistics collection
scsi: lpfc: Clean up SLI-4 CQE status handling
scsi: lpfc: Change firmware upgrade logging to KERN_NOTICE instead of TRACE_EVENT
scsi: lpfc: Revise NPIV ELS unsol rcv cmpl logic to drop ndlp based on nlp_state
scsi: lpfc: Account for fabric domain ctlr device loss recovery
scsi: lpfc: Clear NLP_IN_DEV_LOSS flag if already in rediscovery
scsi: lpfc: Fix use-after-free rport memory access in lpfc_register_remote_port()
scsi: lpfc: Update lpfc version to 14.2.0.12
scsi: lpfc: Replace blk_irq_poll intr handler with threaded IRQ
scsi: lpfc: Add new RCQE status for handling DMA failures
scsi: lpfc: Update congestion warning notification period
scsi: lpfc: Match lock ordering of lpfc_cmd->buf_lock and hbalock for abort paths
scsi: lpfc: Fix double free in lpfc_cmpl_els_logo_acc() caused by lpfc_nlp_not_used()
scsi: lpfc: Fix verbose logging for SCSI commands issued to SES devices

Kees Cook (1):
scsi: megaraid_sas: Convert union megasas_sgl to flex-arrays

Keoseong Park (2):
scsi: ufs: core: Return earlier if ufshcd_hba_init_crypto_capabilities() fails
scsi: ufs: core: Change the module parameter macro of use_mcq_mode

Kevin Barnett (2):
scsi: smartpqi: Stop sending driver-initiated TURs
scsi: smartpqi: Remove NULL pointer check

Krzysztof Kozlowski (2):
scsi: ufs: dt-bindings: samsung,exynos: Drop unneeded quotes
scsi: ufs: hwmon: Constify pointers to hwmon_channel_info

Lu Hongfei (1):
scsi: ufs: wb: Add explicit flush_threshold sysfs attribute

Manish Rangankar (1):
scsi: qla2xxx: Remove unused nvme_ls_waitq wait queue

Martin Wilck (5):
scsi: core: Improve warning message in scsi_device_block()
scsi: core: Replace scsi_target_block() with scsi_block_targets()
scsi: core: Don't wait for quiesce in scsi_device_block()
scsi: core: Don't wait for quiesce in scsi_stop_queue()
scsi: core: Merge scsi_internal_device_block() and device_block()

Mike Christie (18):
scsi: target: Add block PR support to iblock
scsi: target: Report and detect unsupported PR commands
scsi: target: Pass struct target_opcode_descriptor to enabled
scsi: target: Allow backends to hook into PR handling
scsi: target: Rename sbc_ops to exec_cmd_ops
nvme: Add pr_ops read_reservation support
nvme: Add a nvme_pr_type enum
nvme: Add pr_ops read_keys support
nvme: Add helper to send pr command
nvme: Move pr code to it's own file
nvme: Don't hardcode the data len for pr commands
nvme: Fix reservation status related structs
dm: Add support for block PR read keys/reservation
scsi: Add support for block PR read keys/reservation
scsi: Move sd_pr_type to scsi_common
scsi: Rename sd_pr_command
block: Rename BLK_STS_NEXUS to BLK_STS_RESV_CONFLICT
block: Add PR callouts for read keys and reservation

Mike McGowen (2):
scsi: smartpqi: Remove contention for raid_bypass_cnt
scsi: smartpqi: Map full length of PCI BAR 0

Murthy Bhat (1):
scsi: smartpqi: Validate block layer host tag

Niklas Cassel (6):
scsi: ata: libata: Handle completion of CDL commands using policy 0xD
scsi: ata: libata: Change ata_eh_request_sense() to not set CHECK_CONDITION
scsi: ata: libata-scsi: Remove unnecessary !cmd checks
scsi: sd: Handle read/write CDL timeout failures
scsi: core: Rename and move get_scsi_ml_byte()
scsi: core: Allow libata to complete successful commands via EH

Niklas Schnelle (2):
scsi: Add HAS_IOPORT dependencies
scsi: message: fusion: Add HAS_IOPORT dependencies

Nilesh Javali (5):
scsi: qla2xxx: Update version to 10.02.08.400-k
scsi: qla2xxx: Check valid rport returned by fc_bsg_to_rport()
scsi: qla2xxx: Avoid fcport pointer dereference
scsi: qla2xxx: Array index may go out of bound
scsi: qla2xxx: Update version to 10.02.08.300-k

Po-Wen Kao (5):
scsi: ufs: ufs-mediatek: Set UFSHCD_QUIRK_MCQ_BROKEN_RTC quirk
scsi: ufs: ufs-mediatek: Set UFSHCD_QUIRK_MCQ_BROKEN_INTR quirk
scsi: ufs: core: Add host quirk UFSHCD_QUIRK_MCQ_BROKEN_RTC
scsi: ufs: core: Add host quirk UFSHCD_QUIRK_MCQ_BROKEN_INTR
scsi: ufs: core: Remove dedicated hwq for dev command

Quinn Tran (7):
scsi: qla2xxx: Fix buffer overrun
scsi: qla2xxx: Wait for io return on terminate rport
scsi: qla2xxx: Fix mem access after free
scsi: qla2xxx: Fix hang in task management
scsi: qla2xxx: Fix task management cmd fail due to unavailable resource
scsi: qla2xxx: Fix task management cmd failure
scsi: qla2xxx: Multi-que support for TMF

Randy Dunlap (11):
scsi: docs: sym53c8xx_2: Shorten chapter heading
scsi: docs: ncr53c8xx: Shorten chapter heading
scsi: docs: megaraid: Clarify chapter heading
scsi: docs: g_NCR5380: Shorten chapter heading
scsi: docs: scsi-generic: Multiple cleanups
scsi: docs: scsi_fc_transport: Fix typo in heading
scsi: docs: dc395x: Shorten the chapter heading
scsi: docs: scsi-changer: Shorten the chapter heading
scsi: docs: arcmsr: Use a chapter heading for clarity
scsi: docs: introduction: Multiple cleanups
scsi: docs: Organize the SCSI documentation

Sathya Prakash (1):
scsi: mpi3mr: Propagate sense data for admin queue SCSI I/O

Shreyas Deodhar (1):
scsi: qla2xxx: Pointer may be dereferenced

Stanley Chu (2):
scsi: ufs: core: mcq: Fix the incorrect OCS value for the device command
scsi: ufs: core: Combine ufshcd_mq_poll_cqe functions

Uwe Kleine-König (1):
scsi: hisi_sas: Convert to platform remove callback returning void

Xingui Yang (2):
scsi: hisi_sas: Fix warnings detected by sparse
scsi: hisi_sas: Change DMA setup lock timeout to 2.5s

Yihang Li (1):
scsi: hisi_sas: Configure initial value of some registers according to HBA model

Yuchen Yang (1):
scsi: 3w-xxxx: Add error handling for initialization failure in tw_probe()

zhanghui (1):
scsi: ufs: core: Fix ufshcd_inc_sq_tail() function bug

And the diffstat:

Documentation/ABI/testing/sysfs-block-device | 22 +
Documentation/ABI/testing/sysfs-driver-ufs | 11 +
.../devicetree/bindings/ufs/qcom,ufs.yaml | 26 ++
.../bindings/ufs/samsung,exynos-ufs.yaml | 2 +-
Documentation/scsi/arcmsr_spec.rst | 1 +
Documentation/scsi/dc395x.rst | 17 +-
Documentation/scsi/g_NCR5380.rst | 6 +-
Documentation/scsi/index.rst | 37 +-
Documentation/scsi/megaraid.rst | 6 +-
Documentation/scsi/ncr53c8xx.rst | 6 +-
Documentation/scsi/scsi-changer.rst | 6 +-
Documentation/scsi/scsi-generic.rst | 53 +--
Documentation/scsi/scsi.rst | 23 +-
Documentation/scsi/scsi_fc_transport.rst | 8 +-
Documentation/scsi/sym53c8xx_2.rst | 6 +-
MAINTAINERS | 13 +-
block/bfq-iosched.c | 8 +-
block/blk-core.c | 5 +-
block/bsg.c | 2 +-
block/ioprio.c | 7 +-
drivers/ata/libata-core.c | 204 ++++++++-
drivers/ata/libata-eh.c | 130 +++++-
drivers/ata/libata-sata.c | 103 ++++-
drivers/ata/libata-scsi.c | 385 ++++++++++++++---
drivers/ata/libata.h | 2 +-
drivers/md/dm.c | 69 +++
drivers/message/fusion/Kconfig | 2 +-
drivers/message/fusion/mptbase.c | 4 +-
drivers/message/fusion/mptctl.c | 2 +-
drivers/nvme/host/Makefile | 2 +-
drivers/nvme/host/core.c | 149 +------
drivers/nvme/host/nvme.h | 2 +
drivers/nvme/host/pr.c | 315 ++++++++++++++
drivers/s390/block/dasd.c | 7 +-
drivers/scsi/3w-xxxx.c | 4 +-
drivers/scsi/Kconfig | 25 +-
drivers/scsi/aic7xxx/Kconfig.aic79xx | 2 +-
drivers/scsi/aic7xxx/Kconfig.aic7xxx | 2 +-
drivers/scsi/aic94xx/Kconfig | 2 +-
drivers/scsi/bfa/bfa_fcbuild.c | 4 +-
drivers/scsi/bfa/bfa_fcs.c | 4 +-
drivers/scsi/bfa/bfa_fcs_lport.c | 20 +-
drivers/scsi/bfa/bfa_ioc.c | 2 +-
drivers/scsi/bfa/bfa_svc.c | 2 +-
drivers/scsi/bfa/bfad.c | 10 +-
drivers/scsi/bfa/bfad_attr.c | 2 +-
drivers/scsi/bfa/bfad_bsg.c | 4 +-
drivers/scsi/bfa/bfad_im.c | 2 +-
drivers/scsi/fcoe/fcoe_transport.c | 2 +-
drivers/scsi/fnic/fnic_debugfs.c | 8 +-
drivers/scsi/hisi_sas/hisi_sas.h | 2 +-
drivers/scsi/hisi_sas/hisi_sas_main.c | 3 +-
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 7 +-
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 7 +-
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 28 +-
drivers/scsi/hosts.c | 1 +
drivers/scsi/libsas/sas_expander.c | 124 +++---
drivers/scsi/lpfc/lpfc.h | 65 +--
drivers/scsi/lpfc/lpfc_attr.c | 4 +-
drivers/scsi/lpfc/lpfc_crtn.h | 4 +-
drivers/scsi/lpfc/lpfc_ct.c | 92 ++--
drivers/scsi/lpfc/lpfc_debugfs.c | 8 +-
drivers/scsi/lpfc/lpfc_els.c | 44 +-
drivers/scsi/lpfc/lpfc_hbadisc.c | 59 +--
drivers/scsi/lpfc/lpfc_hw.h | 20 +-
drivers/scsi/lpfc/lpfc_hw4.h | 14 +-
drivers/scsi/lpfc/lpfc_init.c | 276 ++++--------
drivers/scsi/lpfc/lpfc_logmsg.h | 6 +-
drivers/scsi/lpfc/lpfc_nvme.c | 61 +--
drivers/scsi/lpfc/lpfc_nvmet.c | 6 +-
drivers/scsi/lpfc/lpfc_scsi.c | 68 ++-
drivers/scsi/lpfc/lpfc_sli.c | 446 +++++++++++--------
drivers/scsi/lpfc/lpfc_sli4.h | 4 +-
drivers/scsi/lpfc/lpfc_version.h | 2 +-
drivers/scsi/megaraid/Kconfig.megaraid | 6 +-
drivers/scsi/megaraid/megaraid_sas.h | 8 +-
drivers/scsi/mpi3mr/mpi3mr.h | 8 +-
drivers/scsi/mpi3mr/mpi3mr_fw.c | 7 +-
drivers/scsi/mpi3mr/mpi3mr_transport.c | 2 +-
drivers/scsi/mvsas/Kconfig | 2 +-
drivers/scsi/pcmcia/Kconfig | 6 +-
drivers/scsi/pm8001/pm8001_init.c | 32 +-
drivers/scsi/pm8001/pm8001_sas.c | 22 +
drivers/scsi/pm8001/pm8001_sas.h | 1 +
drivers/scsi/pm8001/pm80xx_hwi.c | 126 ++++--
drivers/scsi/qedf/qedf_main.c | 3 +-
drivers/scsi/qla2xxx/Kconfig | 2 +-
drivers/scsi/qla2xxx/qla_attr.c | 13 +
drivers/scsi/qla2xxx/qla_bsg.c | 6 +
drivers/scsi/qla2xxx/qla_def.h | 26 +-
drivers/scsi/qla2xxx/qla_edif.c | 4 +-
drivers/scsi/qla2xxx/qla_gbl.h | 2 +-
drivers/scsi/qla2xxx/qla_gs.c | 4 +-
drivers/scsi/qla2xxx/qla_init.c | 267 ++++++++++--
drivers/scsi/qla2xxx/qla_inline.h | 5 +-
drivers/scsi/qla2xxx/qla_iocb.c | 36 +-
drivers/scsi/qla2xxx/qla_isr.c | 64 ++-
drivers/scsi/qla2xxx/qla_mr.c | 20 +-
drivers/scsi/qla2xxx/qla_nvme.c | 3 -
drivers/scsi/qla2xxx/qla_os.c | 133 +++---
drivers/scsi/qla2xxx/qla_version.h | 4 +-
drivers/scsi/qla4xxx/ql4_mbx.c | 8 +-
drivers/scsi/qla4xxx/ql4_os.c | 14 +-
drivers/scsi/scsi.c | 171 +++++++-
drivers/scsi/scsi_common.c | 46 +-
drivers/scsi/scsi_error.c | 48 ++-
drivers/scsi/scsi_lib.c | 137 +++---
drivers/scsi/scsi_priv.h | 6 +
drivers/scsi/scsi_scan.c | 3 +
drivers/scsi/scsi_sysfs.c | 30 ++
drivers/scsi/scsi_transport_fc.c | 2 +-
drivers/scsi/scsi_transport_iscsi.c | 3 +-
drivers/scsi/scsi_transport_sas.c | 2 +-
drivers/scsi/scsi_transport_srp.c | 6 +-
drivers/scsi/sd.c | 189 +++++++--
drivers/scsi/sd_zbc.c | 2 +-
drivers/scsi/sg.c | 2 +-
drivers/scsi/smartpqi/Kconfig | 2 +-
drivers/scsi/smartpqi/smartpqi.h | 6 +-
drivers/scsi/smartpqi/smartpqi_init.c | 286 +++++++------
drivers/scsi/smartpqi/smartpqi_sas_transport.c | 34 +-
drivers/scsi/smartpqi/smartpqi_sis.c | 2 +-
drivers/scsi/smartpqi/smartpqi_sis.h | 2 +-
drivers/scsi/snic/snic_disc.c | 2 +-
drivers/scsi/sr.c | 2 +-
drivers/scsi/sym53c8xx_2/sym_glue.c | 2 +-
drivers/scsi/virtio_scsi.c | 4 +-
drivers/target/iscsi/iscsi_target_parameters.c | 4 +-
drivers/target/iscsi/iscsi_target_util.c | 4 +-
drivers/target/target_core_configfs.c | 10 +-
drivers/target/target_core_device.c | 6 +-
drivers/target/target_core_file.c | 4 +-
drivers/target/target_core_iblock.c | 275 +++++++++++-
drivers/target/target_core_pr.c | 79 +++-
drivers/target/target_core_rd.c | 4 +-
drivers/target/target_core_sbc.c | 13 +-
drivers/target/target_core_spc.c | 113 +++--
drivers/ufs/core/ufs-fault-injection.c | 2 +-
drivers/ufs/core/ufs-hwmon.c | 2 +-
drivers/ufs/core/ufs-mcq.c | 296 +++++++++++--
drivers/ufs/core/ufs-sysfs.c | 35 +-
drivers/ufs/core/ufshcd-crypto.c | 2 +-
drivers/ufs/core/ufshcd-priv.h | 27 +-
drivers/ufs/core/ufshcd.c | 471 +++++++++++++--------
drivers/ufs/core/ufshpb.c | 6 +-
drivers/ufs/core/ufshpb.h | 2 +-
drivers/ufs/host/Kconfig | 2 +-
drivers/ufs/host/Makefile | 4 +-
drivers/ufs/host/cdns-pltfrm.c | 1 -
drivers/ufs/host/tc-dwc-g210-pci.c | 10 -
drivers/ufs/host/tc-dwc-g210-pltfrm.c | 1 -
drivers/ufs/host/ufs-exynos.c | 3 +-
drivers/ufs/host/ufs-hisi.c | 25 +-
drivers/ufs/host/ufs-mediatek.c | 6 +-
drivers/ufs/host/ufs-qcom-ice.c | 244 -----------
drivers/ufs/host/ufs-qcom.c | 102 ++++-
drivers/ufs/host/ufs-qcom.h | 32 +-
drivers/ufs/host/ufs-sprd.c | 1 -
drivers/ufs/host/ufshcd-pci.c | 11 +-
drivers/ufs/host/ufshcd-pltfrm.c | 6 -
drivers/ufs/host/ufshcd-pltfrm.h | 1 -
include/linux/ata.h | 11 +-
include/linux/blk_types.h | 10 +-
include/linux/libata.h | 42 +-
include/linux/nvme.h | 51 ++-
include/linux/pr.h | 25 ++
include/scsi/scsi_cmnd.h | 5 +
include/scsi/scsi_common.h | 13 +
include/scsi/scsi_device.h | 20 +-
include/scsi/scsi_host.h | 6 +
include/scsi/scsi_proto.h | 5 +
include/target/target_core_backend.h | 8 +-
include/target/target_core_base.h | 3 +-
include/trace/events/scsi.h | 21 +-
include/uapi/linux/ioprio.h | 100 ++++-
include/ufs/ufshcd.h | 22 +-
include/ufs/ufshci.h | 25 +-
177 files changed, 4837 insertions(+), 2244 deletions(-)
create mode 100644 drivers/nvme/host/pr.c
delete mode 100644 drivers/ufs/host/ufs-qcom-ice.c

James



2023-06-30 19:28:32

by Linus Torvalds

[permalink] [raw]
Subject: Re: [GIT PULL] first round of SCSI updates for the 6.4+ merge window

On Thu, 29 Jun 2023 at 05:48, James Bottomley
<[email protected]> wrote:
>
> We have a couple of major core changes impacting other
> systems: Command Duration Limits, which spills into block and ATA and
> block level Persistent Reservation Operations, which touches block,
> nvme, target and dm (both of which are added with merge commits
> containing a cover letter explaining what's going on).

Random side note - as an outsider that then sees a trivial conflict
due to the split of the nmve side into a file called 'pr.c', I can
only say that my reaction to that was "what a horrible filename".

Maybe it makes sense to people that are very into nvme, but honestly,
considering it's a new special thing, I kind of doubt it.

We really don't lack the disk-space to use more descriptive names for
files. "pr.c" really is pretty horrid.

It's not like that file even had a comment at the top about what it was.

And yes, while I was looking around, I realized that we've had that
<linux/pr.h> header file forever. So this inscrutable naming isn't
new.

We have a few other horrors here. Quickly, without looking at them,
what is 'rv.h' of 'nd.h'?

But three old wrongs don't make a right.

Linus

2023-06-30 19:31:31

by pr-tracker-bot

[permalink] [raw]
Subject: Re: [GIT PULL] first round of SCSI updates for the 6.4+ merge window

The pull request you sent on Thu, 29 Jun 2023 08:48:28 -0400:

> git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git scsi-misc

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/ca7ce08d6a063e0ccb91dc57f9bc213120d0d1a7

Thank you!

--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html

2023-07-03 17:43:10

by Linus Torvalds

[permalink] [raw]
Subject: Re: [GIT PULL] first round of SCSI updates for the 6.4+ merge window

On Mon, 3 Jul 2023 at 10:09, Mike Christie <[email protected]> wrote:
>
> Maybe name it persistent_reservation.c, or if people think that's too
> long does persistent_resv.c make sense since we use the "resv"
> abbreviation for reservation in nvme and the block layer.

Yeah, as a non-storage person, I really would prefer more informative names.

Maybe I'll never end up looking at that file again, and my one-time
conflict resolution reaction is really just that, but I do think that
we can afford the extra disk space.

Do people really end up typing that file name so much that the extra
keystrokes would matter (and if so - do you really not use
tab-completion? Is it just me that tab-completes pretty much every
filename I type?)

I did do a simple

git ls-files | grep '/[a-z][a-z]\.[ch]$'

to see how common this kind of two-letter thing is, and we do have a
ton of them (the test directory has single-letter "a.c" kind of files
too, but for testing that's fine).

Some of those two-letter things look fine: things like "mm", "fs",
"rw", "rx", "tx", and "io" are I think common enough in kernel
contexts that there is practically no real long-form version of them

And others seem to perhaps make sense within the context of individual
device drivers (ie there seem to be two-letter board revisions).

And then we have the ones that make me just go "Whaa". Like that
"pr.c". If I hadn't looked at it, I would have expected "pr" to be
shorthand for some kind of printing function (eg our "pr_warn()" etc
helpers).

Clearly it's not the only one.

Linus

2023-07-03 17:53:13

by Mike Christie

[permalink] [raw]
Subject: Re: [GIT PULL] first round of SCSI updates for the 6.4+ merge window

On 6/30/23 2:14 PM, Linus Torvalds wrote:
> On Thu, 29 Jun 2023 at 05:48, James Bottomley
> <[email protected]> wrote:
>>
>> We have a couple of major core changes impacting other
>> systems: Command Duration Limits, which spills into block and ATA and
>> block level Persistent Reservation Operations, which touches block,
>> nvme, target and dm (both of which are added with merge commits
>> containing a cover letter explaining what's going on).
>
> Random side note - as an outsider that then sees a trivial conflict
> due to the split of the nmve side into a file called 'pr.c', I can
> only say that my reaction to that was "what a horrible filename".
>
> Maybe it makes sense to people that are very into nvme, but honestly,
> considering it's a new special thing, I kind of doubt it.
>
> We really don't lack the disk-space to use more descriptive names for
> files. "pr.c" really is pretty horrid.

cc'ing the nvme list because it's their file.

PR stands for persistent reservation. It's from the SCSI days so the
term and abbreviation is common to SCSI people and nvme developers that
used to work on that. I can see how a new storage person would not be
familiar with it.

Maybe name it persistent_reservation.c, or if people think that's too
long does persistent_resv.c make sense since we use the "resv"
abbreviation for reservation in nvme and the block layer.


2023-09-03 13:42:59

by pr-tracker-bot

[permalink] [raw]
Subject: Re: [GIT PULL] first round of SCSI updates for the 6.4+ merge window

The pull request you sent on Sat, 02 Sep 2023 08:39:13 +0100:

> git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git scsi-misc

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/b89b029377c8c441649c7a6be908386e74ea9420

Thank you!

--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html