On Thu 26-11-20 14:04:17, Christoph Hellwig wrote:
> Pass the block_device actually needed instead of the hd_struct.
> 
> Signed-off-by: Christoph Hellwig <[email protected]>

Looks good. You can add:

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

                                                                Honza

> ---
>  block/blk.h             |  2 +-
>  block/genhd.c           | 14 +++++++-------
>  block/partitions/core.c |  2 +-
>  3 files changed, 9 insertions(+), 9 deletions(-)
> 
> diff --git a/block/blk.h b/block/blk.h
> index d5bf8f3a078186..9657c6da7c770c 100644
> --- a/block/blk.h
> +++ b/block/blk.h
> @@ -350,7 +350,7 @@ static inline void blk_queue_free_zone_bitmaps(struct 
> request_queue *q) {}
>  
>  struct block_device *disk_map_sector_rcu(struct gendisk *disk, sector_t 
> sector);
>  
> -int blk_alloc_devt(struct hd_struct *part, dev_t *devt);
> +int blk_alloc_devt(struct block_device *part, dev_t *devt);
>  void blk_free_devt(dev_t devt);
>  char *disk_name(struct gendisk *hd, int partno, char *buf);
>  #define ADDPART_FLAG_NONE    0
> diff --git a/block/genhd.c b/block/genhd.c
> index a85ffd7385718d..89cd0ba8e3b84a 100644
> --- a/block/genhd.c
> +++ b/block/genhd.c
> @@ -559,8 +559,8 @@ static int blk_mangle_minor(int minor)
>  }
>  
>  /**
> - * blk_alloc_devt - allocate a dev_t for a partition
> - * @part: partition to allocate dev_t for
> + * blk_alloc_devt - allocate a dev_t for a block device
> + * @bdev: block device to allocate dev_t for
>   * @devt: out parameter for resulting dev_t
>   *
>   * Allocate a dev_t for block device.
> @@ -572,14 +572,14 @@ static int blk_mangle_minor(int minor)
>   * CONTEXT:
>   * Might sleep.
>   */
> -int blk_alloc_devt(struct hd_struct *part, dev_t *devt)
> +int blk_alloc_devt(struct block_device *bdev, dev_t *devt)
>  {
> -     struct gendisk *disk = part_to_disk(part);
> +     struct gendisk *disk = bdev->bd_disk;
>       int idx;
>  
>       /* in consecutive minor range? */
> -     if (part->bdev->bd_partno < disk->minors) {
> -             *devt = MKDEV(disk->major, disk->first_minor + 
> part->bdev->bd_partno);
> +     if (bdev->bd_partno < disk->minors) {
> +             *devt = MKDEV(disk->major, disk->first_minor + bdev->bd_partno);
>               return 0;
>       }
>  
> @@ -735,7 +735,7 @@ static void __device_add_disk(struct device *parent, 
> struct gendisk *disk,
>  
>       disk->flags |= GENHD_FL_UP;
>  
> -     retval = blk_alloc_devt(disk->part0->bd_part, &devt);
> +     retval = blk_alloc_devt(disk->part0, &devt);
>       if (retval) {
>               WARN_ON(1);
>               return;
> diff --git a/block/partitions/core.c b/block/partitions/core.c
> index ecc3228a086956..4f823c4c733518 100644
> --- a/block/partitions/core.c
> +++ b/block/partitions/core.c
> @@ -392,7 +392,7 @@ static struct hd_struct *add_partition(struct gendisk 
> *disk, int partno,
>       pdev->type = &part_type;
>       pdev->parent = ddev;
>  
> -     err = blk_alloc_devt(p, &devt);
> +     err = blk_alloc_devt(bdev, &devt);
>       if (err)
>               goto out_bdput;
>       pdev->devt = devt;
> -- 
> 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