Re: [PATCH 04/11] block: remove the blk_integrity_profile structure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxx>
---
  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@xxxxxxx>

Cheers,

Hannes
--
Dr. Hannes Reinecke                  Kernel Storage Architect
hare@xxxxxxx                                +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





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux