Hi all, I`m ready to suggest the blk_interposer again. blk_interposer allows to intercept bio requests, remap bio to another devices or add new bios. This version has support from device mapper. For the dm-linear device creation command, the `noexcl` parameter has been added, which allows to open block devices without FMODE_EXCL mode. It allows to create dm-linear device on a block device with an already mounted file system. The new ioctl DM_DEV_REMAP allows to enable and disable bio interception. Thus, it is possible to add the dm-device to the block layer stack without reconfiguring and rebooting. Sergei Shtepa (2): block: blk_interposer [dm] blk_interposer for dm-linear block/bio.c | 2 + block/blk-core.c | 29 +++ block/blk-mq.c | 13 ++ block/genhd.c | 82 ++++++++ drivers/md/dm-core.h | 46 +++- drivers/md/dm-ioctl.c | 39 ++++ drivers/md/dm-linear.c | 17 +- drivers/md/dm-table.c | 12 +- drivers/md/dm.c | 383 ++++++++++++++++++++++++++++++++-- drivers/md/dm.h | 2 +- include/linux/blk-mq.h | 1 + include/linux/blk_types.h | 6 +- include/linux/device-mapper.h | 7 + include/linux/genhd.h | 19 ++ include/uapi/linux/dm-ioctl.h | 15 +- 15 files changed, 643 insertions(+), 30 deletions(-) -- 2.20.1