On Thu 26-11-20 14:04:06, Christoph Hellwig wrote:
> Don't play tricks with slab constructors as bdev structures tends to not
> get reused very much, and this makes the code a lot less error prone.
> 
> Signed-off-by: Christoph Hellwig <[email protected]>
> Acked-by: Tejun Heo <[email protected]>

Looks good. You can add:

Reviewed-by: Jan Kara <[email protected]>

                                                                Honza

> ---
>  fs/block_dev.c | 22 +++++++++-------------
>  1 file changed, 9 insertions(+), 13 deletions(-)
> 
> diff --git a/fs/block_dev.c b/fs/block_dev.c
> index f180ac0e87844f..58e8532d8580a1 100644
> --- a/fs/block_dev.c
> +++ b/fs/block_dev.c
> @@ -784,20 +784,11 @@ static void bdev_free_inode(struct inode *inode)
>       kmem_cache_free(bdev_cachep, BDEV_I(inode));
>  }
>  
> -static void init_once(void *foo)
> +static void init_once(void *data)
>  {
> -     struct bdev_inode *ei = (struct bdev_inode *) foo;
> -     struct block_device *bdev = &ei->bdev;
> +     struct bdev_inode *ei = data;
>  
> -     memset(bdev, 0, sizeof(*bdev));
> -     mutex_init(&bdev->bd_mutex);
> -#ifdef CONFIG_SYSFS
> -     INIT_LIST_HEAD(&bdev->bd_holder_disks);
> -#endif
> -     bdev->bd_bdi = &noop_backing_dev_info;
>       inode_init_once(&ei->vfs_inode);
> -     /* Initialize mutex for freeze. */
> -     mutex_init(&bdev->bd_fsfreeze_mutex);
>  }
>  
>  static void bdev_evict_inode(struct inode *inode)
> @@ -873,12 +864,17 @@ struct block_device *bdev_alloc(struct gendisk *disk, 
> u8 partno)
>       mapping_set_gfp_mask(&inode->i_data, GFP_USER);
>  
>       bdev = I_BDEV(inode);
> +     memset(bdev, 0, sizeof(*bdev));
> +     mutex_init(&bdev->bd_mutex);
> +     mutex_init(&bdev->bd_fsfreeze_mutex);
>       spin_lock_init(&bdev->bd_size_lock);
>       bdev->bd_disk = disk;
>       bdev->bd_partno = partno;
> -     bdev->bd_super = NULL;
>       bdev->bd_inode = inode;
> -     bdev->bd_part_count = 0;
> +     bdev->bd_bdi = &noop_backing_dev_info;
> +#ifdef CONFIG_SYSFS
> +     INIT_LIST_HEAD(&bdev->bd_holder_disks);
> +#endif
>       return bdev;
>  }
>  
> -- 
> 2.29.2
> 
-- 
Jan Kara <[email protected]>
SUSE Labs, CR

--
dm-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/dm-devel

Reply via email to