Messages in this thread Patch in this message | | | Date | Sat, 13 Aug 2011 17:32:37 +0200 | From | Tejun Heo <> | Subject | [PATCH] block: add GENHD_FL_UNPARTITIONABLE |
| |
There are cases where suppressing partition scan is useful - e.g. for lo devices and pseudo SATA devices which advertise to be a disk but get upset on partition scan (some port multiplier control devices show such behavior).
This patch adds GENHD_FL_UNPARTITIONABLE which suppresses partition scan regardless of the number of possible partitions.
Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Kay Sievers <kay.sievers@vrfy.org> --- include/linux/genhd.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/include/linux/genhd.h b/include/linux/genhd.h index 02fa469..a6f9329 100644 --- a/include/linux/genhd.h +++ b/include/linux/genhd.h @@ -128,6 +128,7 @@ struct hd_struct { #define GENHD_FL_EXT_DEVT 64 /* allow extended devt */ #define GENHD_FL_NATIVE_CAPACITY 128 #define GENHD_FL_BLOCK_EVENTS_ON_EXCL_WRITE 256 +#define GENHD_FL_UNPARTITIONABLE 512 enum { DISK_EVENT_MEDIA_CHANGE = 1 << 0, /* media changed */ @@ -236,7 +237,8 @@ static inline int disk_max_parts(struct gendisk *disk) static inline bool disk_partitionable(struct gendisk *disk) { - return disk_max_parts(disk) > 1; + return disk_max_parts(disk) > 1 && + !(disk->flags & GENHD_FL_UNPARTITIONABLE); } static inline dev_t disk_devt(struct gendisk *disk)
| |