Commit 9fc995a6 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe
Browse files

block: pass a block_device to blk_alloc_devt



Pass the block_device actually needed instead of the hd_struct.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarJan Kara <jack@suse.cz>
Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 41e5c819
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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
+7 −7
Original line number Diff line number Diff line
@@ -570,8 +570,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.
@@ -583,14 +583,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;
	}

@@ -746,7 +746,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;
+1 −1
Original line number Diff line number Diff line
@@ -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;