Re: [PATCH 0/3] block: blk_interposer - Block Layer Interposer

From: Mike Snitzer
Date: Wed Dec 09 2020 - 08:53:55 EST


On Wed, Dec 09 2020 at 8:01am -0500,
Sergei Shtepa <sergei.shtepa@xxxxxxxxx> wrote:

> 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.

Excuse me? I gave you quite a bit of early feedback! I then went on
PTO for ~10 days, when I returned last week I had to deal with fixing
some 5.10 dm/block bio splitting regressions that only got resolved this
past Saturday in time for 5.10-rc7.

blk_interposer was/is on my short list to review closer (Hannes' version
that refined yours a bit more).. primarily to see if I could avoid the
extra clone and endio hooking.

The development window for 5.11 is past, so you pushing this without
using the approach discussed (in terms of DM) doesn't help your cause.

> 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.

So you weren't willing to put the work in on something DM oriented
because you expected me to do the work for you? And now you're looking
to side-step the consensus that was built because I didn't contribute
quick enough? That's pretty messed up.

In the time-scale that is Linux kernel development.. you've really
jumped the gun and undercut my enthusiasm to work through the details.
I'd rather not read into your actions more than I already have here, but
I'm not liking what you've done here. Kind of left in dismay with how
you decided to go down this path without a followup note to me or others
(that I'm aware of).

But I'm still willing to make blk_interposer work as we all discussed
(in terms of DM).

Mike

> 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
>