Re: [PATCH 03/19] fs: release anon dev_t in deactivate_locked_super

From: Christoph Hellwig
Date: Tue Sep 26 2023 - 05:41:40 EST


On Thu, Sep 14, 2023 at 06:38:43AM +0100, Al Viro wrote:
> It's worse - look at the rationale for 2c18a63b760a "super: wait until
> we passed kill super". Basically, "don't remove from the lists
> until after block device closing". IOW, we have

As of this stage we don't even touch anything related to block devices..

> That was *NOT* what a recent rework had done. Block device closing had never
> been inside ->put_super() - at no point since that (closing, that is) had been
> introduced back in 0.97 ;-) ->put_super() predates it (0.95c+).
>
> The race is real, but the cause is not some kind of move of blkdev_put().
> Your 2ea6f68932f7 "fs: use the super_block as holder when mounting file
> systems" is where it actually came from.
>
> Christoph, could you explain what the hell do we need that for? It does
> create the race in question and AFAICS 2c18a63b760a (and followups trying
> to plug holes in it) had been nothing but headache.

Because it allows us to actually get from the bdev to the holder directly,
someting we've badly neeed for a while.