[PATCH v3 0/2] block: Generalize physical entry definition

From: Leon Romanovsky

Date: Wed Dec 17 2025 - 04:41:40 EST


Jens,

I would like to ask you to put these patches on some shared branch based
on v6.19-rcX tag, so I will be able to reuse this general type in VFIO
and DMABUF code.

--------------------------------------------------------------------------------
Changelog:
v3:
* Rebased on top v6.19-rc1
* Added note that memory size is not changed despite change in the
variable type.
v2: https://lore.kernel.org/linux-nvme/20251117-nvme-phys-types-v2-0-c75a60a2c468@xxxxxxxxxx/
* Added Chaitanya's Reviewed-by tags.
* Removed explicit casting from size_t to unsigned int.
v1: https://patch.msgid.link/20251115-nvme-phys-types-v1-0-c0f2e5e9163d@xxxxxxxxxx

--------------------------------------------------------------------------------
The block layer code is declared "struct phys_vec" entry which describes
contiguous chunk of physical memory. That definition is useful for all
possible users of DMA physical address-based API.

This series changes NVMe code to support larger chunks of memory by changing
length field from u32 to be size_t, which will be u64 on 64-bits platforms,
and promotes "struct phys_vec" to general place.

This change doesn't change memory footprint because on 32-bits systems,
size_t will be u32 as before and on 64bits system previous uint32_t
variable was padded to be uint64_t anyway.

Thanks

---
Leon Romanovsky (2):
nvme-pci: Use size_t for length fields to handle larger sizes
types: move phys_vec definition to common header

block/blk-mq-dma.c | 11 +++++------
drivers/nvme/host/pci.c | 4 ++--
include/linux/types.h | 5 +++++
3 files changed, 12 insertions(+), 8 deletions(-)
---
base-commit: 5674abb82e2b74205a6a5cd1ffd79a3ba48a469d
change-id: 20251030-nvme-phys-types-988893249454

Best regards,
--
Leon Romanovsky <leonro@xxxxxxxxxx>

---
Leon Romanovsky (2):
nvme-pci: Use size_t for length fields to handle larger sizes
types: move phys_vec definition to common header

block/blk-mq-dma.c | 11 +++++------
drivers/nvme/host/pci.c | 4 ++--
include/linux/types.h | 5 +++++
3 files changed, 12 insertions(+), 8 deletions(-)
---
base-commit: 8f0b4cce4481fb22653697cced8d0d04027cb1e8
change-id: 20251217-nvme-phys-types-5bf34e42b2df

Best regards,
--
Leon Romanovsky <leonro@xxxxxxxxxx>