summaryrefslogtreecommitdiffstats
path: root/fs/super.c
diff options
context:
space:
mode:
authorChristian Brauner <brauner@kernel.org>2023-10-24 16:53:39 +0200
committerChristian Brauner <brauner@kernel.org>2023-11-18 14:59:24 +0100
commit761c47a973441cf2a3602d2a9d0407eb0ec6ce1c (patch)
treedc45e1498317f5653adc822cea3a7b44159191c6 /fs/super.c
parentblkdev: comment fs_holder_ops (diff)
downloadlinux-761c47a973441cf2a3602d2a9d0407eb0ec6ce1c.tar.xz
linux-761c47a973441cf2a3602d2a9d0407eb0ec6ce1c.zip
fs: simplify setup_bdev_super() calls
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. Link: https://lore.kernel.org/r/20231024-vfs-super-rework-v1-1-37a8aa697148@kernel.org Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'fs/super.c')
-rw-r--r--fs/super.c16
1 files changed, 0 insertions, 16 deletions
diff --git a/fs/super.c b/fs/super.c
index 78bbbb9b3ee9..18b42281ebe2 100644
--- a/fs/super.c
+++ b/fs/super.c
@@ -1601,15 +1601,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) {
@@ -1653,15 +1645,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) {