Re: use case for register_pstore_blk?

From: Christoph Hellwig
Date: Wed Oct 07 2020 - 03:37:44 EST


On Wed, Oct 07, 2020 at 12:13:27AM -0700, Kees Cook wrote:
> On Tue, Oct 06, 2020 at 05:52:20PM +0200, Christoph Hellwig wrote:
> > Hi WeiXiong, hi Kees,
> >
> > what is the use case for the code added in commit 17639f67c1d6
> > ("pstore/blk: Introduce backend for block devices").
> >
> > This still doesn't have a user, and the API looks really odd to me.
>
> pstore is a beast. :) The API is there so that a blk device can declare
> its direct support of pstore (specifically, to provide a panic_write
> handler).
>
> The MTD device does this, but yes, that's a good point, there isn't a
> blk device user of that entry point yet.
>
> > By our normal kernel rules we should not add new exports without
> > users and this should probably be reverted for the 5.9 release.
>
> I don't want to revert the entire patch (I'm still using
> __register_pstore_blk by way of pstore/blk's "best_effort" option), but
> I wouldn't object to something like this:

That is a minimum. But the MTD support is also completely and
utterly broken as well, by declaring on-stack struct file and
struct file_operations instances instead of actually reusing the
block layer code. This kind of stuff really needs more coordination
with the block layer and maintainers instead of the crap that ended
up being merged.