[PATCHv2 7/7] mtd: Raise limit on block device minor numbers
Ben Hutchings
bhutchings at solarflare.com
Thu Jan 14 14:19:29 EST 2010
On Tue, 2010-01-12 at 23:10 +0000, Ben Hutchings wrote:
> 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. Since we now have 20-bit minor numbers
> and can have more than 32 MTDs, change the maximum to MINORMASK.
>
> Signed-off-by: Ben Hutchings <bhutchings at solarflare.com>
> ---
> drivers/mtd/mtd_blkdevs.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/mtd/mtd_blkdevs.c b/drivers/mtd/mtd_blkdevs.c
> index 85a52b3..5e88b49 100644
> --- a/drivers/mtd/mtd_blkdevs.c
> +++ b/drivers/mtd/mtd_blkdevs.c
> @@ -242,7 +242,7 @@ 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) {
> + if ((new->devnum << tr->part_bits) > MINORMASK) {
Actually this still has a boundary error. I think the correct condition
is:
new->devnum > (MINORMASK >> tr->part_bits)
Ben.
> return -EBUSY;
> }
>
> --
> 1.5.5
>
--
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
More information about the linux-mtd
mailing list