[GIT PULL] nvme updates for Linux 6.16

Christoph Hellwig hch at infradead.org
Tue May 20 09:02:16 PDT 2025


NOTE: this includes changes to mm/dmapool.c.  We've not managed to
get any replies from mm folks for it despite repeated pings.


The following changes since commit 496a3bc5e46c6485a50730ffbcbc92fc53120425:

  blk-mq: add a copyright notice to blk-mq-dma.c (2025-05-16 08:43:41 -0600)

are available in the Git repository at:

  git://git.infradead.org/nvme.git tags/nvme-6.16-2025-05-20

for you to fetch changes up to 9e221d8cf90b8599a6a3d62a1ebb712468f42a35:

  nvme: rename nvme_mpath_shutdown_disk to nvme_mpath_remove_disk (2025-05-20 05:34:52 +0200)

----------------------------------------------------------------
nvme updates for Linux 6.16

 - add per-node DMA pools and use them for PRP/SGL allocations
   (Caleb Sander Mateos, Keith Busch)
 - nvme-fcloop refcounting fixes (Daniel Wagner)
 - support delayed removal of the multipath node and optionally support
   the multipath node for private namespaces (Nilay Shroff)
 - support shared CQs in the PCI endpoint target code (Wilfred Mallawa)
 - support admin-queue only authentication (Hannes Reinecke)
 - use the crc32c library instead of the crypto API (Eric Biggers)
 - misc cleanups (Christoph Hellwig, Marcelo Moreira, Hannes Reinecke,
   Leon Romanovsky, Gustavo A. R. Silva)

----------------------------------------------------------------
Caleb Sander Mateos (2):
      nvme-pci: factor out a nvme_init_hctx_common() helper
      nvme-pci: make PRP list DMA pools per-NUMA-node

Christoph Hellwig (6):
      nvme-pci: don't try to use SGLs for metadata on the admin queue
      nvme-pci: remove struct nvme_descriptor
      nvme-pci: rename the descriptor pools
      nvme-pci: use a better encoding for small prp pool allocations
      nvme-pci: use struct_size for allocation struct nvme_dev
      nvme-pci: derive and better document max segments limits

Daniel Wagner (14):
      nvmet-fcloop: track ref counts for nports
      nvmet-fcloop: remove nport from list on last user
      nvmet-fcloop: refactor fcloop_nport_alloc and track lport
      nvmet-fcloop: refactor fcloop_delete_local_port
      nvmet-fcloop: update refs on tfcp_req
      nvmet-fcloop: access fcpreq only when holding reqlock
      nvmet-fcloop: prevent double port deletion
      nvmet-fcloop: allocate/free fcloop_lsreq directly
      nvmet-fcloop: drop response if targetport is gone
      nvmet-fc: free pending reqs on tgtport unregister
      nvmet-fc: take tgtport refs for portentry
      nvmet-fcloop: add missing fcloop_callback_host_done
      nvmet-fcloop: don't wait for lport cleanup
      nvme-fc: do not reference lsrsp after failure

Eric Biggers (1):
      nvmet-tcp: switch to using the crc32c library

Gustavo A. R. Silva (1):
      nvme-loop: avoid -Wflex-array-member-not-at-end warning

Hannes Reinecke (6):
      nvme-tcp: remove redundant check to ctrl->opts
      nvme-tcp: open-code nvme_tcp_queue_request() for R2T
      nvme-auth: do not re-authenticate queues with no prior authentication
      nvmet-auth: authenticate on admin queue only
      nvme-auth: use SHASH_DESC_ON_STACK
      nvmet-auth: use SHASH_DESC_ON_STACK

Keith Busch (1):
      dmapool: add NUMA affinity support

Leon Romanovsky (2):
      nvme-pci: store aborted state in flags variable
      nvme-pci: add a symolic name for the small pool size

Marcelo Moreira (1):
      nvmet: replace strncpy with strscpy

Nilay Shroff (3):
      nvme-multipath: introduce delayed removal of the multipath head node
      nvme: introduce multipath_always_on module param
      nvme: rename nvme_mpath_shutdown_disk to nvme_mpath_remove_disk

Wilfred Mallawa (5):
      nvmet: add a helper function for cqid checking
      nvmet: cq: prepare for completion queue sharing
      nvmet: fabrics: add CQ init and destroy
      nvmet: support completion queue sharing
      nvmet: simplify the nvmet_req_init() interface

 drivers/nvme/common/auth.c        |  15 +-
 drivers/nvme/host/auth.c          |  30 ++-
 drivers/nvme/host/core.c          |  12 +-
 drivers/nvme/host/fc.c            |  13 +-
 drivers/nvme/host/multipath.c     | 206 ++++++++++++++++--
 drivers/nvme/host/nvme.h          |  24 ++-
 drivers/nvme/host/pci.c           | 300 ++++++++++++++------------
 drivers/nvme/host/sysfs.c         |   7 +
 drivers/nvme/host/tcp.c           |  14 +-
 drivers/nvme/target/admin-cmd.c   |  31 +--
 drivers/nvme/target/auth.c        |  21 +-
 drivers/nvme/target/core.c        |  94 ++++++--
 drivers/nvme/target/discovery.c   |   2 +-
 drivers/nvme/target/fabrics-cmd.c |  12 +-
 drivers/nvme/target/fc.c          |  96 +++++++--
 drivers/nvme/target/fcloop.c      | 439 ++++++++++++++++++++++++--------------
 drivers/nvme/target/loop.c        |  29 ++-
 drivers/nvme/target/nvmet.h       |  24 ++-
 drivers/nvme/target/pci-epf.c     |  14 +-
 drivers/nvme/target/rdma.c        |   8 +-
 drivers/nvme/target/tcp.c         | 100 +++------
 include/linux/dmapool.h           |  21 +-
 mm/dmapool.c                      |  15 +-
 23 files changed, 1001 insertions(+), 526 deletions(-)



More information about the Linux-nvme mailing list