block: pass a block_device to blk_alloc_devt

Pass the block_device actually needed instead of the hd_struct.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Christoph Hellwig 2020-11-24 09:17:46 +01:00 committed by Jens Axboe
parent 41e5c81984
commit 9fc995a6e0
3 changed files with 9 additions and 9 deletions

View File

@ -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); 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); void blk_free_devt(dev_t devt);
char *disk_name(struct gendisk *hd, int partno, char *buf); char *disk_name(struct gendisk *hd, int partno, char *buf);
#define ADDPART_FLAG_NONE 0 #define ADDPART_FLAG_NONE 0

View File

@ -570,8 +570,8 @@ static int blk_mangle_minor(int minor)
} }
/** /**
* blk_alloc_devt - allocate a dev_t for a partition * blk_alloc_devt - allocate a dev_t for a block device
* @part: partition to allocate dev_t for * @bdev: block device to allocate dev_t for
* @devt: out parameter for resulting dev_t * @devt: out parameter for resulting dev_t
* *
* Allocate a dev_t for block device. * Allocate a dev_t for block device.
@ -583,14 +583,14 @@ static int blk_mangle_minor(int minor)
* CONTEXT: * CONTEXT:
* Might sleep. * 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; int idx;
/* in consecutive minor range? */ /* in consecutive minor range? */
if (part->bdev->bd_partno < disk->minors) { if (bdev->bd_partno < disk->minors) {
*devt = MKDEV(disk->major, disk->first_minor + part->bdev->bd_partno); *devt = MKDEV(disk->major, disk->first_minor + bdev->bd_partno);
return 0; return 0;
} }
@ -746,7 +746,7 @@ static void __device_add_disk(struct device *parent, struct gendisk *disk,
disk->flags |= GENHD_FL_UP; disk->flags |= GENHD_FL_UP;
retval = blk_alloc_devt(disk->part0->bd_part, &devt); retval = blk_alloc_devt(disk->part0, &devt);
if (retval) { if (retval) {
WARN_ON(1); WARN_ON(1);
return; return;

View File

@ -392,7 +392,7 @@ static struct hd_struct *add_partition(struct gendisk *disk, int partno,
pdev->type = &part_type; pdev->type = &part_type;
pdev->parent = ddev; pdev->parent = ddev;
err = blk_alloc_devt(p, &devt); err = blk_alloc_devt(bdev, &devt);
if (err) if (err)
goto out_bdput; goto out_bdput;
pdev->devt = devt; pdev->devt = devt;