Skip to content

Commits

Permalink
Mike-Christie/…
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Commits on Mar 24, 2023

  1. scsi: target: Add block PR support to iblock

    This adds support for the block PR callouts to target_core_iblock. This
    patch doesn't attempt to implement the entire spec because there's no way
    support it all like SPEC_I_PT and ALL_TG_PT. This only supports
    exporting the iblock device from one path on the local target.
    
    Signed-off-by: Mike Christie <michael.christie@oracle.com>
    mikechristie authored and intel-lab-lkp committed Mar 24, 2023
    Copy the full SHA
    f3fe3a0 View commit details
    Browse the repository at this point in the history
  2. scsi: target: Report and detect unsupported PR commands

    The backend modules don't know about ports and I_T nexuses and the pr_ops
    callouts the modules will use don't support the old RESERVE/RELEASE
    commands. This patch has us report we don't support those types of
    commands and fail them.
    
    Signed-off-by: Mike Christie <michael.christie@oracle.com>
    mikechristie authored and intel-lab-lkp committed Mar 24, 2023
    Copy the full SHA
    42ab7a6 View commit details
    Browse the repository at this point in the history
  3. scsi: target: Pass struct target_opcode_descriptor to enabled

    The iblock pr_ops support does not support commands that require port or
    I_T Nexus info. This adds a struct target_opcode_descriptor as an argument
    to the enabled callout so we can still have the common tcm_is_pr_enabled
    and tcm_is_scsi2_reservations_enabled functions and also determine if the
    command is supported based on the command and service action and device
    settings.
    
    Signed-off-by: Mike Christie <michael.christie@oracle.com>
    mikechristie authored and intel-lab-lkp committed Mar 24, 2023
    Copy the full SHA
    aa65455 View commit details
    Browse the repository at this point in the history
  4. scsi: target: Allow backends to hook into PR handling

    For the cases where you want to export a device to a VM via a single
    I_T nexus and want to passthrough the PR handling to the physical/real
    device you have to use pscsi or tcmu. Both are good for specific uses
    however for the case where you want good performance, and are not using
    SCSI devices directly (using DM/MD RAID or multipath devices) then we are
    out of luck.
    
    The following patches allow iblock to mimimally hook into the LIO PR code
    and then pass the PR handling to the physical device. Note that like with
    the tcmu an pscsi cases it's only supported when you export the device via
    one I_T nexus.
    
    This patch adds the initial LIO callouts. The next patch will modify
    iblock.
    
    Signed-off-by: Mike Christie <michael.christie@oracle.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    mikechristie authored and intel-lab-lkp committed Mar 24, 2023
    Copy the full SHA
    24deb04 View commit details
    Browse the repository at this point in the history
  5. scsi: target: Rename sbc_ops to exec_cmd_ops

    The next patches allow us to call the block layer's pr_ops from the
    backends. This will require allowing the backends to hook into the cmd
    processing for SPC commands, so this renames sbc_ops to a more generic
    exec_cmd_ops.
    
    Signed-off-by: Mike Christie <michael.christie@oracle.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    mikechristie authored and intel-lab-lkp committed Mar 24, 2023
    Copy the full SHA
    c053d55 View commit details
    Browse the repository at this point in the history
  6. nvme: Add pr_ops read_reservation support

    This patch adds support for the pr_ops read_reservation callout by
    calling the NVMe Reservation Report helper. It then parses that info to
    detect if there is a reservation and if there is then convert the
    returned info to a pr_ops pr_held_reservation struct.
    
    Signed-off-by: Mike Christie <michael.christie@oracle.com>
    Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
    mikechristie authored and intel-lab-lkp committed Mar 24, 2023
    Copy the full SHA
    30c1252 View commit details
    Browse the repository at this point in the history
  7. nvme: Add a nvme_pr_type enum

    The next patch adds support to report the reservation type, so we need to
    be able to convert from the NVMe PR value we get from the device to the
    linux block layer PR value that will be returned to callers. To prepare
    for that, this patch adds a nvme_pr_type enum and renames the nvme_pr_type
    function.
    
    Signed-off-by: Mike Christie <michael.christie@oracle.com>
    Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    mikechristie authored and intel-lab-lkp committed Mar 24, 2023
    Copy the full SHA
    266f542 View commit details
    Browse the repository at this point in the history
  8. nvme: Add pr_ops read_keys support

    This patch adds support for the pr_ops read_keys callout by calling the
    NVMe Reservation Report helper, then parsing that info to get the
    controller's registered keys. Because the callout is only used in the
    kernel where the callers, like LIO, do not know about controller/host IDs,
    the callout just returns the registered keys which is required by the SCSI
    PR in READ KEYS command.
    
    Signed-off-by: Mike Christie <michael.christie@oracle.com>
    mikechristie authored and intel-lab-lkp committed Mar 24, 2023
    Copy the full SHA
    fcd2233 View commit details
    Browse the repository at this point in the history
  9. nvme: Add helper to send pr command

    Move the code that checks for multipath support and sends the pr command
    to a new helper so it can be used by the reservation report support added
    in the next patches.
    
    Signed-off-by: Mike Christie <michael.christie@oracle.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    mikechristie authored and intel-lab-lkp committed Mar 24, 2023
    Copy the full SHA
    42c48b1 View commit details
    Browse the repository at this point in the history
  10. nvme: Move pr code to it's own file

    This patch moves the pr code to it's own file because I'm going to be
    adding more functions and core.c is getting bigger.
    
    Signed-off-by: Mike Christie <michael.christie@oracle.com>
    Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
    Reviewed-by: Keith Busch <kbusch@kernel.org>
    mikechristie authored and intel-lab-lkp committed Mar 24, 2023
    Copy the full SHA
    8e571b4 View commit details
    Browse the repository at this point in the history
  11. nvme: Don't hardcode the data len for pr commands

    Reservation Report support needs to pass in a variable sized buffer, so
    this patch has the pr command helpers take a data length argument.
    
    Signed-off-by: Mike Christie <michael.christie@oracle.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Keith Busch <kbusch@kernel.org>
    Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
    mikechristie authored and intel-lab-lkp committed Mar 24, 2023
    Copy the full SHA
    6e2b4f3 View commit details
    Browse the repository at this point in the history
  12. nvme: Fix reservation status related structs

    This fixes the following issues with the reservation status structs:
    
    1. resv10 is bytes 23:10 so it should be 14 bytes.
    2. regctl_ds only supports 64 bit host IDs.
    
    These are not currently used, but will be in this patchset which adds
    support for the reservation report command.
    
    Signed-off-by: Mike Christie <michael.christie@oracle.com>
    mikechristie authored and intel-lab-lkp committed Mar 24, 2023
    Copy the full SHA
    a1c78aa View commit details
    Browse the repository at this point in the history
  13. dm: Add support for block PR read keys/reservation

    This adds support in dm for the block PR read keys and read reservation
    callouts.
    
    Signed-off-by: Mike Christie <michael.christie@oracle.com>
    mikechristie authored and intel-lab-lkp committed Mar 24, 2023
    Copy the full SHA
    bbee4d6 View commit details
    Browse the repository at this point in the history
  14. scsi: Add support for block PR read keys/reservation

    This adds support in sd.c for the block PR read keys and read reservation
    callouts, so upper layers like LIO can get the PR info that's been setup
    using the existing pr callouts and return it to initiators.
    
    Signed-off-by: Mike Christie <michael.christie@oracle.com>
    Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    mikechristie authored and intel-lab-lkp committed Mar 24, 2023
    Copy the full SHA
    9be5861 View commit details
    Browse the repository at this point in the history
  15. scsi: Move sd_pr_type to header to share

    LIO is going to want to do the same block to/from SCSI pr types as sd.c
    so this moves the sd_pr_type helper to a new file. The next patch will
    then also add a helper to go from the SCSI value to the block one for use
    with PERSISTENT_RESERVE_IN commands.
    
    Signed-off-by: Mike Christie <michael.christie@oracle.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
    mikechristie authored and intel-lab-lkp committed Mar 24, 2023
    Copy the full SHA
    5fb09c9 View commit details
    Browse the repository at this point in the history
  16. scsi: Rename sd_pr_command

    Rename sd_pr_command to sd_pr_out_command to match a
    sd_pr_in_command helper added in the next patches.
    
    Signed-off-by: Mike Christie <michael.christie@oracle.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
    mikechristie authored and intel-lab-lkp committed Mar 24, 2023
    Copy the full SHA
    ee1458e View commit details
    Browse the repository at this point in the history
  17. block: Rename BLK_STS_NEXUS to BLK_STS_RESV_CONFLICT

    BLK_STS_NEXUS is used for NVMe/SCSI reservation conflicts and DASD's
    locking feature which works similar to NVMe/SCSI reservations where a
    host can get a lock on a device and when the lock is taken it will get
    failures.
    
    This patch renames BLK_STS_NEXUS so it better reflects this type of
    use.
    
    Signed-off-by: Mike Christie <michael.christie@oracle.com>
    Acked-by: Stefan Haberland <sth@linux.ibm.com>
    mikechristie authored and intel-lab-lkp committed Mar 24, 2023
    Copy the full SHA
    9e2e261 View commit details
    Browse the repository at this point in the history
  18. block: Add PR callouts for read keys and reservation

    Add callouts for reading keys and reservations. This allows LIO to support
    the READ_KEYS and READ_RESERVATION commands and will allow dm-multipath
    to optimize it's error handling so it can check if it's getting an error
    because there's an existing reservation or if we need to retry different
    paths.
    
    Note: This only initially adds the struct definitions in the kernel as I'm
    not sure if we wanted to export the interface to userspace yet. read_keys
    and read_reservation are exactly what dm-multipath and LIO need, but for a
    userspace interface we may want something like SCSI's READ_FULL_STATUS and
    NVMe's report reservation commands. Those are overkill for dm/LIO and
    READ_FULL_STATUS is sometimes broken for SCSI devices.
    
    Signed-off-by: Mike Christie <michael.christie@oracle.com>
    Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    mikechristie authored and intel-lab-lkp committed Mar 24, 2023
    Copy the full SHA
    ec543e1 View commit details
    Browse the repository at this point in the history

Commits on Mar 17, 2023

  1. Merge patch series "mpi3mr: Few Enhancements and minor fixes"

    Ranjan Kumar <ranjan.kumar@broadcom.com> says:
    
    Few Enhancements and minor fixes of mpi3mr driver.
    
    Link: https://lore.kernel.org/r/20230316110209.60145-1-ranjan.kumar@broadcom.com
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    martinkpetersen committed Mar 17, 2023
    Copy the full SHA
    e05c006 View commit details
    Browse the repository at this point in the history
  2. scsi: mpi3mr: Update driver version to 8.4.1.0.0

    Update driver version to 8.4.1.0.0.
    
    Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com>
    Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
    Link: https://lore.kernel.org/r/20230316110209.60145-9-ranjan.kumar@broadcom.com
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Ranjan Kumar authored and martinkpetersen committed Mar 17, 2023
    Copy the full SHA
    1ea41ed View commit details
    Browse the repository at this point in the history
  3. scsi: mpi3mr: Update copyright year

    Update copyright year from 2022 to 2023.
    
    Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com>
    Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
    Link: https://lore.kernel.org/r/20230316110209.60145-8-ranjan.kumar@broadcom.com
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Ranjan Kumar authored and martinkpetersen committed Mar 17, 2023
    Copy the full SHA
    e74f2fb View commit details
    Browse the repository at this point in the history
  4. scsi: mpi3mr: Fix W=1 compilation warnings

    Fix W=1 compilation warnings.
    
    Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com>
    Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
    Link: https://lore.kernel.org/r/20230316110209.60145-7-ranjan.kumar@broadcom.com
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Ranjan Kumar authored and martinkpetersen committed Mar 17, 2023
    Copy the full SHA
    80b8fd0 View commit details
    Browse the repository at this point in the history
  5. scsi: mpi3mr: Update MPI Headers to revision 27

    Update MPI Headers to revision 27.
    
    Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com>
    Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
    Link: https://lore.kernel.org/r/20230316110209.60145-6-ranjan.kumar@broadcom.com
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Ranjan Kumar authored and martinkpetersen committed Mar 17, 2023
    Copy the full SHA
    e5f596b View commit details
    Browse the repository at this point in the history
  6. scsi: mpi3mr: Avoid escalating to higher level reset when target is r…

    …emoved
    
    SCSI error handling has taken place for timed out I/Os on a drive and the
    corresponding drive is removed. Stop escalating to higher level of reset by
    returning the TUR with "I_T NEXUS LOSS OCCURRED" sense key.
    
    Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com>
    Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
    Link: https://lore.kernel.org/r/20230316110209.60145-5-ranjan.kumar@broadcom.com
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Ranjan Kumar authored and martinkpetersen committed Mar 17, 2023
    Copy the full SHA
    f1dec6b View commit details
    Browse the repository at this point in the history
  7. scsi: mpi3mr: Modify MUR timeout value to 120 seconds

    Modify Message Unit Reset timeout value to 120 seconds from the previous
    value of 30 seconds.
    
    Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com>
    Signed-off-by: Sreekant Reddy <sreekanth.reddy@broadcom.com>
    Link: https://lore.kernel.org/r/20230316110209.60145-4-ranjan.kumar@broadcom.com
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Ranjan Kumar authored and martinkpetersen committed Mar 17, 2023
    Copy the full SHA
    22beef3 View commit details
    Browse the repository at this point in the history
  8. scsi: mpi3mr: Fix admin queue memory leak upon soft reset

    After a soft reset, while setting up admin queue pairs, the driver
    initially sets admin request base and admin reply base addresses to
    NULL. This leads to DMA memory pointed by these pointers getting leaked.
    
    Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com>
    Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
    Link: https://lore.kernel.org/r/20230316110209.60145-3-ranjan.kumar@broadcom.com
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Ranjan Kumar authored and martinkpetersen committed Mar 17, 2023
    Copy the full SHA
    23b3d1c View commit details
    Browse the repository at this point in the history
  9. scsi: mpi3mr: Successive VD delete and add causes FW fault

    Upon Virtual disk removal, firmware sends device status change event
    (Virtual disk remove event) and expects the driver to start device remove
    handshake (by sending target reset and IOU control command to firmware).
    However, the driver does not initiate the device remove handshake which
    leads to the firmware fault.
    
    Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com>
    Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
    Link: https://lore.kernel.org/r/20230316110209.60145-2-ranjan.kumar@broadcom.com
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Ranjan Kumar authored and martinkpetersen committed Mar 17, 2023
    Copy the full SHA
    3f1254e View commit details
    Browse the repository at this point in the history
  10. scsi: ufs: hisi: Drop of_match_ptr() for ID table

    The driver can match only via the DT table so the table should be always
    used and the of_match_ptr() does not make any sense (this also allows ACPI
    matching via PRP0001, even though it is not relevant here).
    
      drivers/ufs/host/ufs-hisi.c:561:34: error: ‘ufs_hisi_of_match’ defined but not used [-Werror=unused-const-variable=]
    
    Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
    Link: https://lore.kernel.org/r/20230310214435.275127-3-krzysztof.kozlowski@linaro.org
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    krzk authored and martinkpetersen committed Mar 17, 2023
    Copy the full SHA
    d43250e View commit details
    Browse the repository at this point in the history
  11. scsi: ufs: exynos: Drop of_match_ptr() for ID table

    The driver can match only via the DT table so the table should be always
    used and the of_match_ptr() does not make any sense (this also allows ACPI
    matching via PRP0001, even though it is not relevant here).
    
      drivers/ufs/host/ufs-exynos.c:1738:34: error: ‘exynos_ufs_of_match’ defined but not used [-Werror=unused-const-variable=]
    
    Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
    Link: https://lore.kernel.org/r/20230310214435.275127-2-krzysztof.kozlowski@linaro.org
    Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    krzk authored and martinkpetersen committed Mar 17, 2023
    Copy the full SHA
    cd6a689 View commit details
    Browse the repository at this point in the history
  12. scsi: ufs: qcom: Add __maybe_unused to OF ID table

    The driver can be built on ACPI and its .of_match_table uses
    of_match_ptr(), thus annotate the actual table as maybe unused.
    
    Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
    Link: https://lore.kernel.org/r/20230310214435.275127-1-krzysztof.kozlowski@linaro.org
    Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    krzk authored and martinkpetersen committed Mar 17, 2023
    Copy the full SHA
    dd3f533 View commit details
    Browse the repository at this point in the history
  13. scsi: qlogicpti: sun_esp: Use of_property_read_bool() for boolean pro…

    …perties
    
    It is preferred to use typed property access functions (i.e.
    of_property_read_<type> functions) rather than low-level
    of_get_property()/of_find_property() functions for reading properties.
    Convert reading boolean properties to of_property_read_bool().
    
    Signed-off-by: Rob Herring <robh@kernel.org>
    Link: https://lore.kernel.org/r/20230310144723.1544999-1-robh@kernel.org
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    robherring authored and martinkpetersen committed Mar 17, 2023
    Copy the full SHA
    06f8e07 View commit details
    Browse the repository at this point in the history
  14. Merge patch series "add virtual remote fabric"

    Dmitry Bogdanov <d.bogdanov@yadro.com> says:
    
    The patchset is based on 6.4/scsi-staging branch.
    
    The first 11 patches are just a refactoring to reduce code duplication
    in fabric drivers.  They make several callouts be optional in fabric
    ops.  Make a default implementation of the optional ops and remove
    such implementations in the fabric drivers.
    
    The last patch is a new virtual remote fabric driver.  It has a
    valueble sence with patchset "scsi: target: make RTPI an TPG
    identifier" to configure RPTI on remote/tpgt_x same as on tpgt_y on
    other nodes in a storage cluster. That allows to report the same ports
    in RTPG from each node and to have a clusterwide tpg/acl/lun view in
    kernel.
    
    Link: https://lore.kernel.org/r/20230313181110.20566-1-d.bogdanov@yadro.com
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    martinkpetersen committed Mar 17, 2023
    Copy the full SHA
    c5797fd View commit details
    Browse the repository at this point in the history
  15. scsi: target: Add virtual remote target

    Create virtual remote target module.
    
    This can be used to see a whole ACL/LUN/TPG configuration from all nodes in
    storage cluster.  For example, it permits setting up remote ports in ALUA
    port groups. To report all ports in a cluster in REPORT TARGET PORT GROUP
    command.
    
    Suggested-by: Konstantin Shelekhin <k.shelekhin@yadro.com>
    Signed-off-by: Dmitry Bogdanov <d.bogdanov@yadro.com>
    Link: https://lore.kernel.org/r/20230313181110.20566-13-d.bogdanov@yadro.com
    Reviewed-by: Mike Christie <michael.christie@oracle.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    logost authored and martinkpetersen committed Mar 17, 2023
    Copy the full SHA
    075a5d3 View commit details
    Browse the repository at this point in the history
  16. scsi: efct: Remove default fabric ops callouts

    Remove callouts that are identical to the default implementations in TCM
    Core.
    
    Signed-off-by: Dmitry Bogdanov <d.bogdanov@yadro.com>
    Link: https://lore.kernel.org/r/20230313181110.20566-12-d.bogdanov@yadro.com
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    logost authored and martinkpetersen committed Mar 17, 2023
    Copy the full SHA
    df02beb View commit details
    Browse the repository at this point in the history
  17. scsi: qla2xxx: Remove default fabric ops callouts

    Remove callouts that are identical to the default implementations in TCM
    Core.
    
    Signed-off-by: Dmitry Bogdanov <d.bogdanov@yadro.com>
    Link: https://lore.kernel.org/r/20230313181110.20566-11-d.bogdanov@yadro.com
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    logost authored and martinkpetersen committed Mar 17, 2023
    Copy the full SHA
    237f109 View commit details
    Browse the repository at this point in the history
Older