To support iostat statistics of passthrough and support dm/md/nvme-multipath p2pdma. Changes since V1-5: 1. block: enable passthrough command statistics Move the stats check from blk_do_io_stat() to blk_account_io_start(), so that paths like blk_complete_request() where the request carries no bio are no longer missed in accounting. 2. md: propagate BLK_FEAT_PCI_P2PDMA from member devices to RAID device Clear the P2PDMA flag for raid5 to handle the case where a raid0/1/10 array is taken over as raid5. 3. nvme: strip P2PDMA for integrity-bearing I/O Add logic in the nvme path to withhold P2PDMA when integrity is present. 4. nvme: fix multipath batched completion accounting Pick up this fix to prevent iostat from missing batched completions. 5. Updated author from "hotforest" to "Hou Tao". Bart Van Assche (1): block: Fix queue_iostats_passthrough_show() Chaitanya Kulkarni (1): block: clear BLK_FEAT_PCI_P2PDMA in blk_stack_limits() for non-supporting devices Hou Tao (1): dm: pass PCI P2PDMA through linear and striped targets Keith Busch (4): block: enable passthrough command statistics block: export passthrough stats enabled nvme: fix multipath batched completion accounting nvme: add support multipath passthrough iostats Kiran Kumar Modukuri (2): md: propagate BLK_FEAT_PCI_P2PDMA from member devices to RAID device nvme-multipath: enable PCI P2PDMA for multipath devices Zizhi Wo (2): block: withhold P2PDMA from integrity-bearing stacks nvme: keep PCI P2PDMA in sync with namespace integrity Documentation/ABI/stable/sysfs-block | 8 ++++++ block/blk-mq-debugfs.c | 1 + block/blk-mq.c | 7 +++++ block/blk-settings.c | 5 ++++ block/blk-sysfs.c | 26 ++++++++++++++++++ block/blk.h | 2 +- drivers/md/dm-linear.c | 3 ++- drivers/md/dm-stripe.c | 3 ++- drivers/md/dm-table.c | 27 +++++++++++++++++++ drivers/md/raid0.c | 2 ++ drivers/md/raid1.c | 1 + drivers/md/raid10.c | 1 + drivers/md/raid5.c | 6 +++++ drivers/nvme/host/core.c | 27 +++++++++++++++---- drivers/nvme/host/ioctl.c | 9 +++++++ drivers/nvme/host/multipath.c | 6 ++++- include/linux/blk-mq.h | 40 ++++++++++++++++++++++++++++ include/linux/blkdev.h | 3 +++ include/linux/device-mapper.h | 5 ++++ 19 files changed, 173 insertions(+), 9 deletions(-) -- 2.52.0