From: Ming Lei <ming.lei@redhat.com>
To: Christoph Hellwig <hch@lst.de>
Cc: Jens Axboe <axboe@kernel.dk>,
Ulf Hansson <ulf.hansson@linaro.org>,
linux-block@vger.kernel.org, linux-mmc@vger.kernel.org,
linux-scsi@vger.kernel.org
Subject: Re: [PATCH 11/14] block: remove GENHD_FL_EXT_DEVT
Date: Wed, 25 May 2022 22:35:56 +0800 [thread overview]
Message-ID: <Yo4+zEnrBTnoEMCz@T590> (raw)
In-Reply-To: <20211122130625.1136848-12-hch@lst.de>
Hi Christoph,
On Mon, Nov 22, 2021 at 02:06:22PM +0100, Christoph Hellwig wrote:
> All modern drivers can support extra partitions using the extended
> dev_t. In fact except for the ioctl method drivers never even see
> partitions in normal operation.
>
> So remove the GENHD_FL_EXT_DEVT and allow extra partitions for all
> block devices that do support partitions, and require those that
> do not support partitions to explicit disallow them using
> GENHD_FL_NO_PART.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
> block/genhd.c | 6 +++---
> block/partitions/core.c | 9 ++++-----
> drivers/block/amiflop.c | 1 +
> drivers/block/ataflop.c | 1 +
> drivers/block/brd.c | 1 -
> drivers/block/drbd/drbd_main.c | 1 +
> drivers/block/floppy.c | 1 +
> drivers/block/loop.c | 1 -
> drivers/block/null_blk/main.c | 1 -
> drivers/block/paride/pcd.c | 1 +
> drivers/block/paride/pf.c | 1 +
> drivers/block/pktcdvd.c | 2 +-
> drivers/block/ps3vram.c | 1 +
> drivers/block/rbd.c | 6 ++----
> drivers/block/swim.c | 1 +
> drivers/block/swim3.c | 2 +-
> drivers/block/virtio_blk.c | 1 -
> drivers/block/z2ram.c | 1 +
> drivers/block/zram/zram_drv.c | 1 +
> drivers/cdrom/gdrom.c | 1 +
> drivers/md/dm.c | 1 +
> drivers/md/md.c | 5 -----
> drivers/mmc/core/block.c | 1 -
> drivers/mtd/ubi/block.c | 1 +
> drivers/scsi/sd.c | 1 -
> drivers/scsi/sr.c | 1 +
> include/linux/genhd.h | 28 +++++-----------------------
> 27 files changed, 30 insertions(+), 48 deletions(-)
>
> diff --git a/block/genhd.c b/block/genhd.c
> index 09abd41249fd4..e9346fae48ad4 100644
> --- a/block/genhd.c
> +++ b/block/genhd.c
> @@ -376,7 +376,7 @@ int disk_scan_partitions(struct gendisk *disk, fmode_t mode)
> {
> struct block_device *bdev;
>
> - if (!disk_part_scan_enabled(disk))
> + if (disk->flags & GENHD_FL_NO_PART)
> return -EINVAL;
> if (disk->open_partitions)
> return -EBUSY;
> @@ -438,7 +438,6 @@ int __must_check device_add_disk(struct device *parent, struct gendisk *disk,
> return ret;
> disk->major = BLOCK_EXT_MAJOR;
> disk->first_minor = ret;
> - disk->flags |= GENHD_FL_EXT_DEVT;
> }
>
> ret = disk_alloc_events(disk);
> @@ -872,7 +871,8 @@ static ssize_t disk_ext_range_show(struct device *dev,
> {
> struct gendisk *disk = dev_to_disk(dev);
>
> - return sprintf(buf, "%d\n", disk_max_parts(disk));
> + return sprintf(buf, "%d\n",
> + (disk->flags & GENHD_FL_NO_PART) ? 1 : DISK_MAX_PARTS);
The above change breaks parted on loop, which reads 'ext_range' to add
partitions.
Follows the test case:
fallocate -l 4096M loop0.img
losetup /dev/loop0 loop0.img
parted -s /dev/loop0 mklabel MSDOS
parted -s /dev/loop0 mkpart pri 1 1248
Since this patch is merged, /dev/loop0p1 can't be created any more
by above script.
Thanks,
Ming
next prev parent reply other threads:[~2022-05-25 14:36 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-22 13:06 cleanup and simplify the gendisk flags Christoph Hellwig
2021-11-22 13:06 ` [PATCH 01/14] block: move GENHD_FL_NATIVE_CAPACITY to disk->state Christoph Hellwig
2021-11-22 13:06 ` [PATCH 02/14] block: move GENHD_FL_BLOCK_EVENTS_ON_EXCL_WRITE to disk->event_flags Christoph Hellwig
2021-11-22 13:06 ` [PATCH 03/14] block: remove GENHD_FL_CD Christoph Hellwig
2021-11-22 13:06 ` [PATCH 04/14] block: remove a dead check in show_partition Christoph Hellwig
2021-11-22 13:06 ` [PATCH 05/14] block: merge disk_scan_partitions and blkdev_reread_part Christoph Hellwig
2021-11-22 13:06 ` [PATCH 06/14] block: rename GENHD_FL_NO_PART_SCAN to GENHD_FL_NO_PART Christoph Hellwig
2021-11-22 14:02 ` Ulf Hansson
2021-11-22 13:06 ` [PATCH 07/14] block: remove the GENHD_FL_HIDDEN check in blkdev_get_no_open Christoph Hellwig
2021-11-22 13:06 ` [PATCH 08/14] null_blk: don't suppress partitioning information Christoph Hellwig
2021-11-22 13:06 ` [PATCH 09/14] mmc: don't set GENHD_FL_SUPPRESS_PARTITION_INFO Christoph Hellwig
2021-11-22 14:02 ` Ulf Hansson
2021-11-22 13:06 ` [PATCH 10/14] block: remove GENHD_FL_SUPPRESS_PARTITION_INFO Christoph Hellwig
2021-11-22 13:06 ` [PATCH 11/14] block: remove GENHD_FL_EXT_DEVT Christoph Hellwig
2022-05-25 14:35 ` Ming Lei [this message]
2022-05-25 16:51 ` Christoph Hellwig
2022-05-25 16:51 ` Christoph Hellwig
2022-05-26 3:06 ` Ming Lei
2022-05-26 9:08 ` Christoph Hellwig
2021-11-22 13:06 ` [PATCH 12/14] block: don't set GENHD_FL_NO_PART for hidden gendisks Christoph Hellwig
2021-11-22 13:06 ` [PATCH 13/14] block: cleanup the GENHD_FL_* definitions Christoph Hellwig
2021-11-22 13:06 ` [PATCH 14/14] sr: set GENHD_FL_REMOVABLE earlier Christoph Hellwig
2021-11-23 16:10 ` cleanup and simplify the gendisk flags Jens Axboe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Yo4+zEnrBTnoEMCz@T590 \
--to=ming.lei@redhat.com \
--cc=axboe@kernel.dk \
--cc=hch@lst.de \
--cc=linux-block@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=ulf.hansson@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.