1. 07 7月, 2022 2 次提交
  2. 01 7月, 2022 1 次提交
    • J
      Merge tag 'nvme-5.19-2022-06-30' of git://git.infradead.org/nvme into block-5.19 · f3163d85
      Jens Axboe 提交于
      Pull NVMe fixes from Christoph:
      
      "nvme fixes for Linux 5.19
      
       - more quirks (Lamarque Vieira Souza, Pablo Greco)
       - fix a fabrics disconnect regression (Ruozhu Li)
       - fix a nvmet-tcp data_digest calculation regression (Sagi Grimberg)
       - fix nvme-tcp send failure handling (Sagi Grimberg)
       - fix a regression with nvmet-loop and passthrough controllers
         (Alan Adamson)"
      
      * tag 'nvme-5.19-2022-06-30' of git://git.infradead.org/nvme:
        nvme-pci: add NVME_QUIRK_BOGUS_NID for ADATA IM2P33F8ABR1
        nvmet: add a clear_ids attribute for passthru targets
        nvme: fix regression when disconnect a recovering ctrl
        nvme-pci: add NVME_QUIRK_BOGUS_NID for ADATA XPG SX6000LNP (AKA SPECTRIX S40G)
        nvme-tcp: always fail a request when sending it failed
        nvmet-tcp: fix regression in data_digest calculation
      f3163d85
  3. 30 6月, 2022 2 次提交
  4. 29 6月, 2022 4 次提交
    • R
      nvme: fix regression when disconnect a recovering ctrl · f7f70f4a
      Ruozhu Li 提交于
      We encountered a problem that the disconnect command hangs.
      After analyzing the log and stack, we found that the triggering
      process is as follows:
      CPU0                          CPU1
                                      nvme_rdma_error_recovery_work
                                        nvme_rdma_teardown_io_queues
      nvme_do_delete_ctrl                 nvme_stop_queues
        nvme_remove_namespaces
        --clear ctrl->namespaces
                                          nvme_start_queues
                                          --no ns in ctrl->namespaces
          nvme_ns_remove                  return(because ctrl is deleting)
            blk_freeze_queue
              blk_mq_freeze_queue_wait
              --wait for ns to unquiesce to clean infligt IO, hang forever
      
      This problem was not found in older kernels because we will flush
      err work in nvme_stop_ctrl before nvme_remove_namespaces.It does not
      seem to be modified for functional reasons, the patch can be revert
      to solve the problem.
      
      Revert commit 794a4cb3 ("nvme: remove the .stop_ctrl callout")
      Signed-off-by: NRuozhu Li <liruozhu@huawei.com>
      Reviewed-by: NSagi Grimberg <sagi@grimberg.me>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      f7f70f4a
    • P
      nvme-pci: add NVME_QUIRK_BOGUS_NID for ADATA XPG SX6000LNP (AKA SPECTRIX S40G) · 1629de0e
      Pablo Greco 提交于
      ADATA XPG SPECTRIX S40G drives report bogus eui64 values that appear to
      be the same across drives in one system. Quirk them out so they are
      not marked as "non globally unique" duplicates.
      
      Before:
      [    2.258919] nvme nvme1: pci function 0000:06:00.0
      [    2.264898] nvme nvme2: pci function 0000:05:00.0
      [    2.323235] nvme nvme1: failed to set APST feature (2)
      [    2.326153] nvme nvme2: failed to set APST feature (2)
      [    2.333935] nvme nvme1: allocated 64 MiB host memory buffer.
      [    2.336492] nvme nvme2: allocated 64 MiB host memory buffer.
      [    2.339611] nvme nvme1: 7/0/0 default/read/poll queues
      [    2.341805] nvme nvme2: 7/0/0 default/read/poll queues
      [    2.346114]  nvme1n1: p1
      [    2.347197] nvme nvme2: globally duplicate IDs for nsid 1
      After:
      [    2.427715] nvme nvme1: pci function 0000:06:00.0
      [    2.427771] nvme nvme2: pci function 0000:05:00.0
      [    2.488154] nvme nvme2: failed to set APST feature (2)
      [    2.489895] nvme nvme1: failed to set APST feature (2)
      [    2.498773] nvme nvme2: allocated 64 MiB host memory buffer.
      [    2.500587] nvme nvme1: allocated 64 MiB host memory buffer.
      [    2.504113] nvme nvme2: 7/0/0 default/read/poll queues
      [    2.507026] nvme nvme1: 7/0/0 default/read/poll queues
      [    2.509467] nvme nvme2: Ignoring bogus Namespace Identifiers
      [    2.512804] nvme nvme1: Ignoring bogus Namespace Identifiers
      [    2.513698]  nvme1n1: p1
      Signed-off-by: NPablo Greco <pgreco@centosproject.org>
      Reviewed-by: NKeith Busch <kbusch@kernel.org>
      Reviewed-by: NChaitanya Kulkarni <kch@nvidia.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      1629de0e
    • S
      nvme-tcp: always fail a request when sending it failed · 41d07df7
      Sagi Grimberg 提交于
      queue stoppage and inflight requests cancellation is fully fenced from
      io_work and thus failing a request from this context. Hence we don't
      need to try to guess from the socket retcode if this failure is because
      the queue is about to be torn down or not.
      
      We are perfectly safe to just fail it, the request will not be cancelled
      later on.
      
      This solves possible very long shutdown delays when the users issues a
      'nvme disconnect-all'
      Reported-by: NDaniel Wagner <dwagner@suse.de>
      Signed-off-by: NSagi Grimberg <sagi@grimberg.me>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      41d07df7
    • S
      nvmet-tcp: fix regression in data_digest calculation · ed0691cf
      Sagi Grimberg 提交于
      Data digest calculation iterates over command mapped iovec. However
      since commit bac04454 we unmap the iovec before we handle the data
      digest, and since commit 69b85e1f we clear nr_mapped when we unmap
      the iov.
      
      Instead of open-coding the command iov traversal, simply call
      crypto_ahash_digest with the command sg that is already allocated (we
      already do that for the send path). Rename nvmet_tcp_send_ddgst to
      nvmet_tcp_calc_ddgst and call it from send and recv paths.
      
      Fixes: 69b85e1f ("nvmet-tcp: add an helper to free the cmd buffers")
      Fixes: bac04454 ("nvmet-tcp: fix kmap leak when data digest in use")
      Signed-off-by: NSagi Grimberg <sagi@grimberg.me>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      ed0691cf
  5. 26 6月, 2022 1 次提交
  6. 23 6月, 2022 5 次提交
  7. 22 6月, 2022 1 次提交
  8. 20 6月, 2022 1 次提交
  9. 17 6月, 2022 9 次提交
  10. 16 6月, 2022 3 次提交
  11. 15 6月, 2022 1 次提交
    • J
      Merge tag 'nvme-5.19-2022-06-15' of git://git.infradead.org/nvme into block-5.19 · 2396e958
      Jens Axboe 提交于
      Pull NVMe fixes from Christoph:
      
      "nvme fixes for Linux 5.19
      
       - quirks, quirks, quirks to work around buggy consumer grade devices
         (Keith Bush, Ning Wang, Stefan Reiter, Rasheed Hsueh)
       - better kernel messages for devices that need quirking (Keith Bush)
       - make a kernel message more useful (Thomas Weißschuh)"
      
      * tag 'nvme-5.19-2022-06-15' of git://git.infradead.org/nvme:
        nvme-pci: disable write zeros support on UMIC and Samsung SSDs
        nvme-pci: avoid the deepest sleep state on ZHITAI TiPro7000 SSDs
        nvme-pci: sk hynix p31 has bogus namespace ids
        nvme-pci: smi has bogus namespace ids
        nvme-pci: phison e12 has bogus namespace ids
        nvme-pci: add NVME_QUIRK_BOGUS_NID for ADATA XPG GAMMIX S50
        nvme-pci: add trouble shooting steps for timeouts
        nvme: add bug report info for global duplicate id
        nvme: add device name to warning in uuid_show()
      2396e958
  12. 14 6月, 2022 9 次提交
  13. 13 6月, 2022 1 次提交