engines:io_uring: generate and verify pi for 16b guard
authorAnkit Kumar <ankit.kumar@samsung.com>
Mon, 14 Aug 2023 14:57:44 +0000 (20:27 +0530)
committerVincent Fu <vincent.fu@samsung.com>
Mon, 14 Aug 2023 14:27:33 +0000 (10:27 -0400)
commit5163f35e362419c6f2ea23dcb9c48a8044608171
treef6b1c21daac84c3e36390f9d6ab0053e8693e5bc
parentea13c4a7ec39ae1c4b9227af61fcb8cc45d93841
engines:io_uring: generate and verify pi for 16b guard

Generate and verify protection information for 16 bit guard format, for
the nvme backend of io_uring_cmd ioengine. The support is there for
both the cases where metadata is transferred in separate buffer, or
transferred at the end of logical block creating an extended logical
block.
This support also takes into consideration when protection information
resides in last or first 8 bytes of metadata.

Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com>
Link: https://lore.kernel.org/r/20230814145747.114725-8-ankit.kumar@samsung.com
Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
engines/io_uring.c
engines/nvme.c
engines/nvme.h