diff mbox series

[RFC,3/6] ext4: simplify device handling

Message ID 20231024-vfs-super-rework-v1-3-37a8aa697148@kernel.org (mailing list archive)
State New, archived
Headers show
Series fs,block: yield devices | expand

Commit Message

Christian Brauner Oct. 24, 2023, 2:53 p.m. UTC
We removed all codepaths where s_umount is taken beneath open_mutex and
bd_holder_lock so don't make things more complicated than they need to
be and hold s_umount over block device opening.

Signed-off-by: Christian Brauner <brauner@kernel.org>
---
 fs/ext4/super.c | 3 ---
 1 file changed, 3 deletions(-)

Comments

Jan Kara Oct. 25, 2023, 3:30 p.m. UTC | #1
On Tue 24-10-23 16:53:41, Christian Brauner wrote:
> We removed all codepaths where s_umount is taken beneath open_mutex and
> bd_holder_lock so don't make things more complicated than they need to
> be and hold s_umount over block device opening.
> 
> Signed-off-by: Christian Brauner <brauner@kernel.org>

Nice. Feel free to add:

Reviewed-by: Jan Kara <jack@suse.cz>

								Honza

> ---
>  fs/ext4/super.c | 3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/fs/ext4/super.c b/fs/ext4/super.c
> index d43f8324242a..e94df97ea440 100644
> --- a/fs/ext4/super.c
> +++ b/fs/ext4/super.c
> @@ -5855,11 +5855,8 @@ static struct bdev_handle *ext4_get_journal_blkdev(struct super_block *sb,
>  	struct ext4_super_block *es;
>  	int errno;
>  
> -	/* see get_tree_bdev why this is needed and safe */
> -	up_write(&sb->s_umount);
>  	bdev_handle = bdev_open_by_dev(j_dev, BLK_OPEN_READ | BLK_OPEN_WRITE,
>  				       sb, &fs_holder_ops);
> -	down_write(&sb->s_umount);
>  	if (IS_ERR(bdev_handle)) {
>  		ext4_msg(sb, KERN_ERR,
>  			 "failed to open journal device unknown-block(%u,%u) %ld",
> 
> -- 
> 2.34.1
>
Christoph Hellwig Oct. 27, 2023, 6:42 a.m. UTC | #2
Looks good:

Reviewed-by: Christoph Hellwig <hch@lst.de>
diff mbox series

Patch

diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index d43f8324242a..e94df97ea440 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -5855,11 +5855,8 @@  static struct bdev_handle *ext4_get_journal_blkdev(struct super_block *sb,
 	struct ext4_super_block *es;
 	int errno;
 
-	/* see get_tree_bdev why this is needed and safe */
-	up_write(&sb->s_umount);
 	bdev_handle = bdev_open_by_dev(j_dev, BLK_OPEN_READ | BLK_OPEN_WRITE,
 				       sb, &fs_holder_ops);
-	down_write(&sb->s_umount);
 	if (IS_ERR(bdev_handle)) {
 		ext4_msg(sb, KERN_ERR,
 			 "failed to open journal device unknown-block(%u,%u) %ld",