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

Keith Busch
2025-05-27T21:33:03Z

On Fri, May 23, 2025 at 06:37:33AM -0700, Christoph Hellwig wrote:
> Anyway, below is a patch to wire it up to the XFS garbage collection
> daemin. It survices the xfstests test cases for GC when run on a
> conventional device, but otherwise I've not done much testing with it.
>
> It shows two things, though:
>
> - right now there is block layer merging, and we always see single
> range bios. That is really annoying, and fixing the fs code to
> submit multiple ranges in one go would be really annoying, as
> extent-based completions hang off the bio completions. So I'd
> really like to block layer merges similar to what the old
> multi-bio code or the discard code do.

This series should handle bio merging REQ_OP_COPY. If it's inconvenient
to get multiple source sectors, bios that fit in the queue limits will
merge to one request when the using the blk_plug like you're doing.

> - copy also needs to be handled by the zoned write plugs

This is about emulating "copy append" behavior for sequential zones? In
case it gets split, we can't safely dispatch multiple copy operations
targeting the same destination zone, right?