mtd: Raise limit on block device minor numbers
add_mtd_blktrans_dev() imposes a maximum of 257 devices per block translator. This was presumably meant to prevent overflow back in the days of 8-bit minor numbers. Instead, check against MINORMASK and the limits of the partition naming scheme. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
This commit is contained in:
parent
b520e412fa
commit
4d3a8534bd
|
@ -242,9 +242,12 @@ int add_mtd_blktrans_dev(struct mtd_blktrans_dev *new)
|
|||
if (new->devnum == -1)
|
||||
new->devnum = last_devnum+1;
|
||||
|
||||
if ((new->devnum << tr->part_bits) > 256) {
|
||||
/* Check that the device and any partitions will get valid
|
||||
* minor numbers and that the disk naming code below can cope
|
||||
* with this number. */
|
||||
if (new->devnum > (MINORMASK >> tr->part_bits) ||
|
||||
(tr->part_bits && new->devnum >= 27 * 26))
|
||||
return -EBUSY;
|
||||
}
|
||||
|
||||
list_add_tail(&new->list, &tr->devs);
|
||||
added:
|
||||
|
|
Loading…
Reference in a new issue