Hi all. I try to suggest the Block Layer Interposer (blk_interposer) again. It`s allows to intercept bio requests, remap bio to another devices or add new bios. Initially, blk_interposer was designed to be compatible with device mapper. Our (my and Hannes) previous attempt to offer blk_interposer integrated with device mapper did not receive any comments from the dm-devel team, and without their help I will not be able to make a full implementation. I hope later they will have time to support blk_interposer in device mapper. And my blk-snap module requires an architecture change to support blk_interposer. This time I offer it along with a sample. Despite the fact that blk_interposer is quite simple, there are a few non-obvious points that I would like to clarify. However, I suggest the blk_interposer now so that people could discuss it and use it in their projects as soon as possible. Sergei Shtepa (3): block: blk_interposer - Block Layer Interposer block: blk_interposer - sample block: blk_interposer - sample config block/blk-core.c | 32 +++ include/linux/blk_types.h | 6 +- include/linux/genhd.h | 12 +- samples/Kconfig | 7 + samples/Makefile | 1 + samples/blk_interposer/Makefile | 2 + samples/blk_interposer/blk-interposer.c | 276 ++++++++++++++++++++++++ 7 files changed, 333 insertions(+), 3 deletions(-) create mode 100644 samples/blk_interposer/Makefile create mode 100644 samples/blk_interposer/blk-interposer.c -- 2.20.1