Hi all, this is the tip of the iceberg of some of the PI work I've done a while ago, and given the current discussions it might be a good time to send it out. The idea is to: a) make the auto-PI code stand out more clearly as it seems to lead to a lot of confusion b) optimize the size of the integrity payload to prepare for usage in file systems c) make sure the mempool backing actually works for auto-PI. We'll still need a mempool for the actual metadata buffer, but that is left for the next series. Diffstat: block/Makefile | 3 block/bio-integrity.c | 266 ++---------------------------------- block/bio.c | 6 block/blk-settings.c | 5 block/blk.h | 2 block/bounce.c | 2 block/integrity-default.c | 191 +++++++++++++++++++++++++ block/t10-pi.c | 6 drivers/md/dm-integrity.c | 12 - drivers/md/dm-table.c | 6 drivers/md/md.c | 13 - drivers/target/target_core_iblock.c | 12 - include/linux/bio-integrity.h | 25 --- include/linux/bio.h | 4 14 files changed, 226 insertions(+), 327 deletions(-)