lkml.org 
[lkml]   [2011]   [Aug]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
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)

\
 
 \ /
  Last update: 2011-08-13 17:35    [from the cache]
©2003-2011 Jasper Spaans