1. 08 3月, 2022 2 次提交
  2. 28 2月, 2022 4 次提交
  3. 23 12月, 2021 2 次提交
  4. 08 12月, 2021 1 次提交
    • R
      nvme: fix use after free when disconnecting a reconnecting ctrl · 8b77fa6f
      Ruozhu Li 提交于
      A crash happens when trying to disconnect a reconnecting ctrl:
      
       1) The network was cut off when the connection was just established,
          scan work hang there waiting for some IOs complete.  Those I/Os were
          retried because we return BLK_STS_RESOURCE to blk in reconnecting.
       2) After a while, I tried to disconnect this connection.  This
          procedure also hangs because it tried to obtain ctrl->scan_lock.
          It should be noted that now we have switched the controller state
          to NVME_CTRL_DELETING.
       3) In nvme_check_ready(), we always return true when ctrl->state is
          NVME_CTRL_DELETING, so those retrying I/Os were issued to the bottom
          device which was already freed.
      
      To fix this, when ctrl->state is NVME_CTRL_DELETING, issue cmd to bottom
      device only when queue state is live.  If not, return host path error to
      the block layer
      Signed-off-by: NRuozhu Li <liruozhu@huawei.com>
      Reviewed-by: NSagi Grimberg <sagi@grimberg.me>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      8b77fa6f
  5. 21 10月, 2021 1 次提交
  6. 20 10月, 2021 2 次提交
  7. 19 10月, 2021 1 次提交
  8. 28 9月, 2021 1 次提交
  9. 06 9月, 2021 2 次提交
  10. 17 8月, 2021 2 次提交
  11. 16 8月, 2021 1 次提交
  12. 15 8月, 2021 1 次提交
  13. 21 7月, 2021 1 次提交
  14. 01 7月, 2021 2 次提交
  15. 17 6月, 2021 1 次提交
  16. 03 6月, 2021 2 次提交
  17. 12 5月, 2021 1 次提交
  18. 04 5月, 2021 2 次提交
  19. 22 4月, 2021 2 次提交
  20. 15 4月, 2021 5 次提交
  21. 06 4月, 2021 1 次提交
    • K
      nvme: implement non-mdts command limits · 5befc7c2
      Keith Busch 提交于
      Commands that access LBA contents without a data transfer between the
      host historically have not had a spec defined upper limit. The driver
      set the queue constraints for such commands to the max data transfer
      size just to be safe, but this artificial constraint frequently limits
      devices below their capabilities.
      
      The NVMe Workgroup ratified TP4040 defines how a controller may
      advertise their non-MDTS limits. Use these if provided and default to
      the current constraints if not. Since the Dataset Management command
      limits are defined in logical blocks, but without a namespace to tell us
      the logical block size, the code defaults to the safe 512b size.
      Signed-off-by: NKeith Busch <kbusch@kernel.org>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      5befc7c2
  22. 03 4月, 2021 3 次提交