On Tue, Jan 30, 2024 at 10:42:03PM +0530, Kanchan Joshi wrote: > The block integrity subsystem can only work with PI placed in the first > bytes of the metadata buffer. > > The series makes block-integrity support the flexible placement of PI. > And changes NVMe driver to make use of the new capability. > > This helps to > (i) enable the more common case for NVMe (PI in last bytes is the norm) > (ii) reduce nop profile users (tried by Jens recently [1]). > > /* For NS 4K+16b, 8b PI, last bytes */ > Before: > # cat /sys/block/nvme0n1/integrity/format > nop > > After: > # cat /sys/block/nvme0n1/integrity/format > T10-DIF-TYPE1-CRC Your series looks good to me. Reviewed-by: Keith Busch <kbusch@xxxxxxxxxx> While reviewing, I realized O_DIRECT with DMA aligned offsets smaller than block sized offsets can create segments that break PI iterations. Not your problem, just mentioning it because I noticed ... and since I introduced DMA aligned offsets, I should probably take a shot at fixing that.