On Tue 24-10-23 16:53:39, Christian Brauner wrote: > There's no need to drop s_umount anymore now that we removed all sources > where s_umount is taken beneath open_mutex or bd_holder_lock. > > Signed-off-by: Christian Brauner <brauner@xxxxxxxxxx> Yay. Feel free to add: Reviewed-by: Jan Kara <jack@xxxxxxx> Honza > --- > fs/super.c | 16 ---------------- > 1 file changed, 16 deletions(-) > > diff --git a/fs/super.c b/fs/super.c > index b26b302f870d..4edde92d5e8f 100644 > --- a/fs/super.c > +++ b/fs/super.c > @@ -1613,15 +1613,7 @@ int get_tree_bdev(struct fs_context *fc, > return -EBUSY; > } > } else { > - /* > - * We drop s_umount here because we need to open the bdev and > - * bdev->open_mutex ranks above s_umount (blkdev_put() -> > - * bdev_mark_dead()). It is safe because we have active sb > - * reference and SB_BORN is not set yet. > - */ > - super_unlock_excl(s); > error = setup_bdev_super(s, fc->sb_flags, fc); > - __super_lock_excl(s); > if (!error) > error = fill_super(s, fc); > if (error) { > @@ -1665,15 +1657,7 @@ struct dentry *mount_bdev(struct file_system_type *fs_type, > return ERR_PTR(-EBUSY); > } > } else { > - /* > - * We drop s_umount here because we need to open the bdev and > - * bdev->open_mutex ranks above s_umount (blkdev_put() -> > - * bdev_mark_dead()). It is safe because we have active sb > - * reference and SB_BORN is not set yet. > - */ > - super_unlock_excl(s); > error = setup_bdev_super(s, flags, NULL); > - __super_lock_excl(s); > if (!error) > error = fill_super(s, data, flags & SB_SILENT ? 1 : 0); > if (error) { > > -- > 2.34.1 > -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR