[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