Hi Christoph, Thanks for the feedback... On Tue, 24 Mar 2020 02:23:23 -0700, Christoph Hellwig wrote: > 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. I'm probably missing something, but having the (stack) completion separate to the se_cmd and sense buffer would mean that it's no longer a straightforward container_of() in the .check_stop_free() callback. I've reworked this patch to put the entire xcopy_pt_cmd on the stack and will send it out with v2. Cheers, David