Commit 0d1feb72 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe
Browse files

block: automatically enable GENHD_FL_EXT_DEVT



Automatically set the GENHD_FL_EXT_DEVT flag for all disks allocated
without an explicit number of minors.  This is what all new block
drivers should do, so make sure it is the default without boilerplate
code.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
Reviewed-by: default avatarLuis Chamberlain <mcgrof@kernel.org>
Reviewed-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
Link: https://lore.kernel.org/r/20210521055116.1053587-4-hch@lst.de


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 2e3c73fa
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -497,7 +497,6 @@ static void __device_add_disk(struct device *parent, struct gendisk *disk,
		}
	} else {
		WARN_ON(disk->minors);
		WARN_ON(!(disk->flags & (GENHD_FL_EXT_DEVT | GENHD_FL_HIDDEN)));

		ret = blk_alloc_ext_minor();
		if (ret < 0) {
@@ -506,6 +505,7 @@ static void __device_add_disk(struct device *parent, struct gendisk *disk,
		}
		disk->major = BLOCK_EXT_MAJOR;
		disk->first_minor = MINOR(ret);
		disk->flags |= GENHD_FL_EXT_DEVT;
	}

	disk->flags |= GENHD_FL_UP;
+0 −4
Original line number Diff line number Diff line
@@ -326,10 +326,6 @@ static struct block_device *add_partition(struct gendisk *disk, int partno,
	const char *dname;
	int err;

	/*
	 * disk_max_parts() won't be zero, either GENHD_FL_EXT_DEVT is set
	 * or 'minors' is passed to alloc_disk().
	 */
	if (partno >= disk_max_parts(disk))
		return ERR_PTR(-EINVAL);

+1 −1
Original line number Diff line number Diff line
@@ -141,7 +141,7 @@ static int __init n64cart_probe(struct platform_device *pdev)
		return -ENOMEM;

	disk->first_minor = 0;
	disk->flags = GENHD_FL_NO_PART_SCAN | GENHD_FL_EXT_DEVT;
	disk->flags = GENHD_FL_NO_PART_SCAN;
	disk->fops = &n64cart_fops;
	disk->private_data = &pdev->dev;
	strcpy(disk->disk_name, "n64cart");
+0 −1
Original line number Diff line number Diff line
@@ -383,7 +383,6 @@ static int nvm_create_tgt(struct nvm_dev *dev, struct nvm_ioctl_create *create)
	}

	strlcpy(tdisk->disk_name, create->tgtname, sizeof(tdisk->disk_name));
	tdisk->flags = GENHD_FL_EXT_DEVT;
	tdisk->major = 0;
	tdisk->first_minor = 0;
	tdisk->fops = tt->bops;
+0 −1
Original line number Diff line number Diff line
@@ -2136,7 +2136,6 @@ static int msb_init_disk(struct memstick_dev *card)
	msb->disk->fops = &msb_bdops;
	msb->disk->private_data = msb;
	msb->disk->queue = msb->queue;
	msb->disk->flags |= GENHD_FL_EXT_DEVT;

	capacity = msb->pages_in_block * msb->logical_block_count;
	capacity *= (msb->page_size / 512);
Loading