[PATCH 04/11] block: remove the blk_integrity_profile structure
Hannes Reinecke
hare at suse.de
Thu Jun 6 23:15:34 PDT 2024
On 6/7/24 07:58, Christoph Hellwig wrote:
> Block layer integrity configuration is a bit complex right now, as it
> indirects through operation vectors for a simple two-dimensional
> configuration:
>
> a) the checksum type of none, ip checksum, crc, crc64
> b) the presence or absence of a reference tag
>
> Remove the integrity profile, and instead add a separate csum_type flag
> which replaces the existing ip-checksum field and a new flag that
> indicates the presence of the reference tag.
>
> This removes up to two layers of indirect calls, remove the need to
> offload the no-op verification of non-PI metadata to a workqueue and
> generally simplifies the code. The downside is that block/t10-pi.c now
> has to be built into the kernel when CONFIG_BLK_DEV_INTEGRITY is
> supported. Given that both nvme and SCSI require t10-pi.ko, it is loaded
> for all usual configurations that enabled CONFIG_BLK_DEV_INTEGRITY
> already, though.
>
> Signed-off-by: Christoph Hellwig <hch at lst.de>
> ---
> block/Kconfig | 8 +-
> block/Makefile | 3 +-
> block/bio-integrity.c | 30 ++--
> block/blk-integrity.c | 66 ++++----
> block/blk-mq.c | 13 +-
> block/blk.h | 8 +
> block/t10-pi.c | 241 ++++++++++------------------
> drivers/md/dm-crypt.c | 2 +-
> drivers/nvme/host/Kconfig | 1 -
> drivers/nvme/host/core.c | 17 +-
> drivers/nvme/target/Kconfig | 1 -
> drivers/nvme/target/io-cmd-bdev.c | 16 +-
> drivers/scsi/Kconfig | 1 -
> drivers/scsi/sd.c | 2 +-
> drivers/scsi/sd_dif.c | 19 +--
> drivers/target/target_core_iblock.c | 49 +++---
> include/linux/blk-integrity.h | 35 ++--
> include/linux/blkdev.h | 9 +-
> include/linux/t10-pi.h | 8 -
> 19 files changed, 215 insertions(+), 314 deletions(-)
>
Reviewed-by: Hannes Reinecke <hare at suse.de>
Cheers,
Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
hare at suse.de +49 911 74053 688
SUSE Software Solutions GmbH, Frankenstr. 146, 90461 Nürnberg
HRB 36809 (AG Nürnberg), GF: I. Totev, A. McDonald, W. Knoblich
More information about the Linux-nvme
mailing list