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

Christoph Hellwig
2025-05-23T12:46:58Z

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.