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.