diff options
author | Christian Brauner <brauner@kernel.org> | 2023-10-24 16:53:39 +0200 |
---|---|---|
committer | Christian Brauner <brauner@kernel.org> | 2023-11-18 14:59:24 +0100 |
commit | 761c47a973441cf2a3602d2a9d0407eb0ec6ce1c (patch) | |
tree | dc45e1498317f5653adc822cea3a7b44159191c6 /fs/super.c | |
parent | e419cf3ebaee694a826ddcfb350f1b1ebaf1e599 (diff) |
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.c | 16 |
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) { |