From: Keith Busch <kbusch@xxxxxxxxxx> Some fixes and cleanups to counting integrity segments when metadata is used. This addresses merging issues when integrity data is present. Changes from v3: Unconditionally define nr_integrity_segments. (Christoph) Dropped the "simplify" patches and the queue limits checks; they are not correct under some conditions. (Christoph) Fix a commit message typo. (Anuj) Reordered the driver patches to appear after the integrity segment count is accurate. Added a patch (5/9) that accounts for user mapped integrity segments. Added reviews. Keith Busch (10): blk-mq: unconditional nr_integrity_segments blk-mq: set the nr_integrity_segments from bio blk-integrity: properly account for segments blk-integrity: consider entire bio list for merging block: provide a request helper for user integrity segments block: provide helper for nr_integrity_segments scsi: use request helper to get integrity segments nvme-rdma: use request helper to get integrity segments block: unexport blk_rq_count_integrity_sg blk-integrity: improved sg segment mapping block/bio-integrity.c | 1 - block/blk-integrity.c | 36 ++++++++++++++++++++++++----------- block/blk-merge.c | 4 ++++ block/blk-mq.c | 5 +++-- drivers/nvme/host/ioctl.c | 6 ++---- drivers/nvme/host/rdma.c | 6 +++--- drivers/scsi/scsi_lib.c | 12 +++--------- include/linux/blk-integrity.h | 13 +++++++++---- include/linux/blk-mq.h | 8 +++++--- 9 files changed, 54 insertions(+), 37 deletions(-) -- 2.43.5