On 10/11/2023 10:32 AM, Christoph Hellwig wrote: >> Just that I was not sure on (i) whether to go back that far in >> history, and (ii) what patch to tag. > > I think the one that adds the original problem is: > > 63263d60e0f9f37bfd5e6a1e83a62f0e62fc459f > Author: Keith Busch <kbusch@xxxxxxxxxx> > Date: Tue Aug 29 17:46:04 2017 -0400 > > nvme: Use metadata for passthrough commands Thanks. > >>>> + /* Exclude commands that do not have nlb in cdw12 */ >>>> + if (!nvme_nlb_in_cdw12(c->common.opcode)) >>>> + return true; >>> >>> So we can still get exactly the same corruption for all commands that >>> are not known? That's not a very safe way to deal with the issue.. >> >> Given the way things are in NVMe, I do not find a better way. >> Maybe another day for commands that do (or can do) things very >> differently for nlb and PI representation. > > Fixing just a subset of these problems is pointless. If people want > to use metadata on vendor specific commands they need to work with > NVMe to figure out a generic way to pass the length. Do you suggest that vendor specific opcodes should be blocked here?