block: replace @ext_minors with GENHD_FL_EXT_DEVT
With previous changes, it's meaningless to limit the number of partitions. Replace @ext_minors with GENHD_FL_EXT_DEVT such that setting the flag allows the disk to have maximum number of allowed partitions (only limited by the number of entries in parsed_partitions as determined by MAX_PART constant). This kills not-too-pretty alloc_disk_ext[_node]() functions and makes @minors parameter to alloc_disk[_node]() unnecessary. The parameter is left alone to avoid disturbing the users. Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
This commit is contained in:
@ -86,16 +86,12 @@ MODULE_ALIAS_SCSI_DEVICE(TYPE_DISK);
|
||||
MODULE_ALIAS_SCSI_DEVICE(TYPE_MOD);
|
||||
MODULE_ALIAS_SCSI_DEVICE(TYPE_RBC);
|
||||
|
||||
#define SD_PARTS 64
|
||||
|
||||
#if !defined(CONFIG_DEBUG_BLOCK_EXT_DEVT)
|
||||
#define SD_MINORS 16
|
||||
#else
|
||||
#define SD_MINORS 1
|
||||
#endif
|
||||
|
||||
#define SD_EXT_MINORS (SD_PARTS - SD_MINORS)
|
||||
|
||||
static int sd_revalidate_disk(struct gendisk *);
|
||||
static int sd_probe(struct device *);
|
||||
static int sd_remove(struct device *);
|
||||
@ -1811,7 +1807,7 @@ static int sd_probe(struct device *dev)
|
||||
if (!sdkp)
|
||||
goto out;
|
||||
|
||||
gd = alloc_disk_ext(SD_MINORS, SD_EXT_MINORS);
|
||||
gd = alloc_disk(SD_MINORS);
|
||||
if (!gd)
|
||||
goto out_free;
|
||||
|
||||
@ -1856,7 +1852,6 @@ static int sd_probe(struct device *dev)
|
||||
gd->major = sd_major((index & 0xf0) >> 4);
|
||||
gd->first_minor = ((index & 0xf) << 4) | (index & 0xfff00);
|
||||
gd->minors = SD_MINORS;
|
||||
gd->ext_minors = SD_EXT_MINORS;
|
||||
gd->fops = &sd_fops;
|
||||
|
||||
if (index < 26) {
|
||||
@ -1880,7 +1875,7 @@ static int sd_probe(struct device *dev)
|
||||
blk_queue_prep_rq(sdp->request_queue, sd_prep_fn);
|
||||
|
||||
gd->driverfs_dev = &sdp->sdev_gendev;
|
||||
gd->flags = GENHD_FL_DRIVERFS;
|
||||
gd->flags = GENHD_FL_EXT_DEVT | GENHD_FL_DRIVERFS;
|
||||
if (sdp->removable)
|
||||
gd->flags |= GENHD_FL_REMOVABLE;
|
||||
|
||||
|
Reference in New Issue
Block a user