Thanks! I too feel this would be the best approach.
Another way to proceed here could be to write a from-scratch version
of nbdcopy using io_uring, to get a feel for the "shape" of what that
would look like. Then translate back from that into an NBD API
proposal.
- Can we avoid kernel-userspace copies?
I implemented cp like
tool using io_uring and read+write, there was
only one "copy_user_enhanced_fast_string" in io_uring based one's
(flame graph) so I assume this should work.
Regards,
Abhay