[PATCH 03/11] block: remove the BIP_IP_CHECKSUM flag
Martin K. Petersen
martin.petersen at oracle.com
Tue Jun 11 12:51:27 PDT 2024
Christoph,
Sorry about the delay. Travel got in the way.
>> On the wire between controller and target there's only CRC. If I want to
>> write a "bad" CRC to disk, I have switch the controller to CRC mode. The
>> controller can't convert a "bad" IP checksum to a "bad" CRC. The PI test
>> tooling relies heavily on being able to write "bad" things to disk and
>> read them back to validate that we detect the error.
>
> But how do you even toggle the flag? There is no no code to do that.
> And if you already have a special kernel module for that it really
> should just use a passthrough request to take care of that.
A passthrough command to the controller?
> Note that unlike the NOCHECK flag which I just cleaned up because they
> were unused, this one actually does get in the way of the architecture
> of the whole series :( We could add a per-bip csum_type but it would
> feel really weird.
Why would it feel weird? That's how it currently works.
The qualification tool issues a flurry of commands injecting errors at
various places in the stack to identify that the right entity (block
layer, controller, storage device) catch a bad checksum, reference tag,
etc. Being able to enable/disable checking at each place in the stack is
important. I also have code for target that does the same thing in the
reverse direction.
--
Martin K. Petersen Oracle Linux Engineering
More information about the Linux-nvme
mailing list