Hello Guys, The 1st patch adds bdev based io accounting interface. The 2nd ~ 5th patches improves dm's io accounting & split, meantime fixes kernel panic on dm-zone. The other patches improves io polling & dm io reference handling. Ming Lei (8): block: replace disk based account with bdev's dm: don't pass bio to __dm_start_io_acct and dm_end_io_acct dm: pass 'dm_io' instance to dm_io_acct directly dm: switch to bdev based io accounting interface dm: always setup ->orig_bio in alloc_io dm: don't grab target io reference in dm_zone_map_bio dm: improve target io referencing dm: put all polled io into one single list block/blk-core.c | 15 +-- drivers/block/zram/zram_drv.c | 5 +- drivers/md/dm-core.h | 17 ++- drivers/md/dm-zone.c | 10 -- drivers/md/dm.c | 190 +++++++++++++++++++--------------- include/linux/blkdev.h | 7 +- 6 files changed, 131 insertions(+), 113 deletions(-) -- 2.31.1