Hi Jens and Martin, this series has more cleanups to the block layer integrity code. It splits the bio integrity APIs into their own header as they are only used by very few source files, cleans up their stubs a little bit, and then in the last patch change when the bio_integrity_payload is freed when it is not owned by the block layer. This avoids having to know the submitter in the core code and will simplify adding other consuer of the API like file systems or the io_uring non-passthrough PI support. v2 has been rebased to the block for-next branch as there are conflicting changes in 6.10-rc but not in the for-6.11/block branch. Diffstat: block/bio-integrity.c | 87 ++++++++--------------- block/bio.c | 2 block/blk-map.c | 3 block/blk.h | 14 +++ block/bounce.c | 2 drivers/md/dm.c | 1 drivers/nvme/host/ioctl.c | 16 +--- drivers/scsi/sd.c | 3 include/linux/bio-integrity.h | 153 +++++++++++++++++++++++++++++++++++++++++ include/linux/bio.h | 156 ------------------------------------------ include/linux/blk-integrity.h | 1 11 files changed, 211 insertions(+), 227 deletions(-)