[PATCH 2/5] block: add support for copy offload

Christoph Hellwig hch at infradead.org
Fri May 23 05:46:57 PDT 2025


On Wed, May 21, 2025 at 03:31:04PM -0700, Keith Busch wrote:
>  struct bio_vec {
> -	struct page	*bv_page;
> -	unsigned int	bv_len;
> -	unsigned int	bv_offset;
> +	union {
> +		struct {
> +			struct page	*bv_page;
> +			unsigned int	bv_len;
> +			unsigned int	bv_offset;
> +		};
> +		struct {
> +			sector_t	bv_sector;
> +			sector_t	bv_sectors;
> +		};
> +	};

Urrgg.  Please don't overload the bio_vec. We've been working hard to
generalize it and share the data structures with more users in the
block layer.  If having a bio for each source range is too much overhead
for your user case (but I'd like to numbers for that), we'll need to
find a way to do that without overloading the actual bio_vec structure.




More information about the Linux-nvme mailing list