> Eesh, no you're right, seems like we only set this when we're moving devices > around, so it must have gotten removed at some point. Thanks for taking a look, Josef! > > My series can proceed independent of fixing btrfs but I'm just trying to > > make people aware in case that somehow wasn't known. > > Thanks for that, we definitely need to get this fixed. Is the bdev->bd_holder > part of the new mount api, or is it some other thing that we can do right now > and then be in a good spot when your new patchset lands? Let me know and we can > prioritize that work. Thanks, This is independent of converting btrfs to the new mount api. Christoph has landed a patch series this cycle that sets bdev->bd_holder to the superblock owning the block device. Before his work bdev->bd_holder was set to the filesystem type. Roughly, this has enabled us to go from a block device straight to the owning superblock. Associated with changing bdev->bd_holder is using a set of holder operations: fs_holder_ops (see fs/super.c). These can be used to perform various operations on the holder: in this case on the superblock. IOW, we don't need to find the owning superblock anymore we just need to go straight from block device to owning superblock. You can see this e.g., in block/bdev.c:bdev_mark_dead() = fs/super.c:fs_bdev_mark_dead(). What we need is to switch btrfs to bdev->bd_holder = sb and the usage of fs/super.c:fs_holder_ops if possible. We did this anyway to avoid deadlocks, allow dropping of s_umount when opening block devices and ultimately we can find matching superblocks before opening block devices which will allow us to restrict writers to block devices in v6.7 (Jan's work). We converted all block-based filesystems to use this new mechanism but David insisted on taking the btrfs portion through btrfs itself. So none of the btrfs patches in the series linked below have made it upstream for v6.6 and so you're unfortunately the only fs which still uses the old mechanism: Subject: [PATCH 05/17] btrfs: open block devices after superblock https://lore.kernel.org/linux-block/20230811100828.1897174-6-hch@xxxxxx What would help is if you would start to take these patches.