Christoph, > 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. Glad to see the profiles go! Vestiges of a time where it looked like ATA might have an entirely different format and NVMe did not exist yet. I'll test when I get back home later today. -- Martin K. Petersen Oracle Linux Engineering