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
