[PATCH] mtd_blkdevs: don't scan partitions for plain mtdblock

Jens Axboe axboe at kernel.dk
Fri Dec 10 10:52:26 PST 2021


On Mon, Dec 6, 2021 at 12:04 AM Christoph Hellwig <hch at lst.de> wrote:
>
> mtdblock / mtdblock_ro set part_bits to 0 and thus nevever scanned
> partitions.  Restore that behavior by setting the GENHD_FL_NO_PART flag.
>
> Fixes: 1ebe2e5f9d68e94c ("block: remove GENHD_FL_EXT_DEVT")
> Reported-by: Geert Uytterhoeven <geert+renesas at glider.be>
> Signed-off-by: Christoph Hellwig <hch at lst.de>
> Tested-by: Geert Uytterhoeven <geert+renesas at glider.be>
> ---
>  drivers/mtd/mtd_blkdevs.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mtd/mtd_blkdevs.c b/drivers/mtd/mtd_blkdevs.c
> index 113f86df76038..243f28a3206b4 100644
> --- a/drivers/mtd/mtd_blkdevs.c
> +++ b/drivers/mtd/mtd_blkdevs.c
> @@ -346,7 +346,7 @@ int add_mtd_blktrans_dev(struct mtd_blktrans_dev *new)
>         gd->minors = 1 << tr->part_bits;
>         gd->fops = &mtd_block_ops;
>
> -       if (tr->part_bits)
> +       if (tr->part_bits) {
>                 if (new->devnum < 26)
>                         snprintf(gd->disk_name, sizeof(gd->disk_name),
>                                  "%s%c", tr->name, 'a' + new->devnum);
> @@ -355,9 +355,11 @@ int add_mtd_blktrans_dev(struct mtd_blktrans_dev *new)
>                                  "%s%c%c", tr->name,
>                                  'a' - 1 + new->devnum / 26,
>                                  'a' + new->devnum % 26);
> -       else
> +       } else {
>                 snprintf(gd->disk_name, sizeof(gd->disk_name),
>                          "%s%d", tr->name, new->devnum);
> +               gd->flags |= GENHD_FL_NO_PART;
> +       }

Not sure why I didn't spot this until now, but:

drivers/mtd/mtd_blkdevs.c: In function ‘add_mtd_blktrans_dev’:
drivers/mtd/mtd_blkdevs.c:362:30: error: ‘GENHD_FL_NO_PART’ undeclared (first use in this function); did you mean ‘GENHD_FL_NO_PART_SCAN’?
  362 |                 gd->flags |= GENHD_FL_NO_PART;
      |                              ^~~~~~~~~~~~~~~~
      |                              GENHD_FL_NO_PART_SCAN
drivers/mtd/mtd_blkdevs.c:362:30: note: each undeclared identifier is reported only once for each function it appears in

Hmm?

I'm going to revert this one for now, not sure how it could've been
tested in this form.

-- 
Jens Axboe




More information about the linux-mtd mailing list