Re: [PATCH] block: annotate bdev_disk_changed() deprecation with a symbol namespace

From: Luis Chamberlain
Date: Mon Mar 27 2023 - 19:02:07 EST


On Mon, Mar 27, 2023 at 03:16:39PM -0700, Christoph Hellwig wrote:
> On Mon, Mar 27, 2023 at 11:44:10AM -0700, Luis Chamberlain wrote:
> > Instead of relying on fragile documentation which can easily let us
> > slip, use a symbol namespace to annotate which symbols should not be
> > used by others.
> >
> > This ensures no other users pop up by mistake easily and provides
> > us a with an easy vehicle to do the same with other routines should
> > we need it later.
>
> I don't think deprecated really cuts it. For these two drivers we
> can't really get rid of the calls as it is part of their ABI.

Ah yes.

> What I'd really want is something like an
>
> EXPORT_SYMBOL_FOR(bdev_disk_changed, loop, CONFIG_BLK_DEV_LOOP);
> EXPORT_SYMBOL_FOR(bdev_disk_changed, dasd_kmod, CONFIG_DASD);
>
> Which ensures that the symbol lookup only succeeds for loop.ko and
> dasd_kmod.ko, and that the export only happens if the relevant
> symbols are set.

I think that could be done, sure.

Luis