On 09/12/24 09:20PM, Martin K. Petersen wrote:
Bart,
Does "cookie" refer to the SCSI ROD token? Storing the ROD token in
the REQ_OP_COPY_DST bio implies that the REQ_OP_COPY_DST bio is only
submitted after the REQ_OP_COPY_SRC bio has completed.
Obviously. You can't issue a WRITE USING TOKEN until you have the token.
NVMe users may prefer that REQ_OP_COPY_SRC and REQ_OP_COPY_DST bios
are submitted simultaneously.
What would be the benefit of submitting these operations concurrently?
As I have explained, it adds substantial complexity and object lifetime
issues throughout the stack. To what end?
--
Bart,
We did implement payload based approach in the past[1] which aligns
with this. Since we wait till the REQ_OP_COPY_SRC completes, there won't
be issue with async type of dm IOs.
Since this would be an internal kernel plumbing, we can optimize/change
the approach moving forward.
If you are okay with the approach, I can give a respin to that version.
Thanks,
Nitesh Shetty
[1]
https://lore.kernel.org/linux-block/20230605121732.28468-1-nj.shetty@xxxxxxxxxxx/T/#mecd04c060cd4285a4b036ca79cc58713308771fe