nvme: add support for enhanced metadata
authorKeith Busch <kbusch@kernel.org>
Thu, 3 Mar 2022 20:13:12 +0000 (12:13 -0800)
committerJens Axboe <axboe@kernel.dk>
Mon, 7 Mar 2022 19:49:13 +0000 (12:49 -0700)
commit4020aad85c6785ddac8d51f345ff9e3328ce773a
treeb020e171daef757a33562a01cd4d9e7d3d7c1e21
parenta7d4383f17e10f338ea757a849f02298790d24fb
nvme: add support for enhanced metadata

NVM Express ratified TP 4068 defines new protection information formats.
Implement support for the CRC64 guard tags.

Since the block layer doesn't support variable length reference tags,
driver support for the Storage Tag space is not supported at this time.

Cc: Hannes Reinecke <hare@suse.de>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
Cc: Klaus Jensen <its@irrelevant.dk>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Link: https://lore.kernel.org/r/20220303201312.3255347-9-kbusch@kernel.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/nvme/host/core.c
drivers/nvme/host/nvme.h
include/linux/nvme.h