On 6/25/24 10:22 PM, Christoph Hellwig wrote:
It's not just dm. You also need it in the partition remapping code (mandatory), md (nice to have), etc. And then we have the whole mess of what is in the payload for the I/O stack vs what is in the payload for the on the wire protocol, which will have different formatting and potentially also different sizes.
Drivers like dm-linear rely on bio splitting. If the COPY_SRC and COPY_DST operations travel independently down a stacked block driver hierarchy, a separate data structure is needed to keep track of which operations have been split and to combine the split operations into requests. Isn't this an argument in favor of storing the source and destination parameters in a single bio? Thanks, Bart.