On Mon, Mar 23, 2020 at 05:54:10PM +0100, David Disseldorp wrote: > Reads and writes in the XCOPY loop are synchronous, so needn't be > allocated / freed with each loop. That is true, but I think with your previous cleanups we can easily go one step further and just allocate a single command and sense buffer directly in struct xcopy_op, and just have local completions on the stack.