aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorFabio Massimo Di Nitto <fabbione@ubuntu.com>2007-02-11 02:50:00 -0500
committerDavid S. Miller <davem@davemloft.net>2007-02-11 02:50:00 -0500
commitd18d7682c18b617f523df6beea5ea0bd396ed0bd (patch)
tree8e005fee2e13134e9ebdd1a3b71ef72b84351b19 /include
parent66efc5a7e3061c3597ac43a8bb1026488d57e66b (diff)
[PARTITION]: Add whole_disk attribute.
Some partitioning systems create special partitions that span the entire disk. One example are Sun partitions, and this whole-disk partition exists to tell the firmware the extent of the entire device so it can load the boot block and do other things. Such partitions should not be treated as normal partitions, because all the other partitions overlap this whole-disk one. So we'd see multiple instances of the same UUID etc. which we do not want. udev and friends can thus search for this 'whole_disk' attribute and use it to decide to ignore the partition. Signed-off-by: Fabio Massimo Di Nitto <fabbione@ubuntu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/linux/genhd.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/include/linux/genhd.h b/include/linux/genhd.h
index 0a022b2f63fc..247734f7881f 100644
--- a/include/linux/genhd.h
+++ b/include/linux/genhd.h
@@ -20,6 +20,8 @@ enum {
20 LINUX_EXTENDED_PARTITION = 0x85, 20 LINUX_EXTENDED_PARTITION = 0x85,
21 WIN98_EXTENDED_PARTITION = 0x0f, 21 WIN98_EXTENDED_PARTITION = 0x0f,
22 22
23 SUN_WHOLE_DISK = DOS_EXTENDED_PARTITION,
24
23 LINUX_SWAP_PARTITION = 0x82, 25 LINUX_SWAP_PARTITION = 0x82,
24 LINUX_RAID_PARTITION = 0xfd, /* autodetect RAID partition */ 26 LINUX_RAID_PARTITION = 0xfd, /* autodetect RAID partition */
25 27
@@ -400,10 +402,14 @@ struct unixware_disklabel {
400 402
401#ifdef __KERNEL__ 403#ifdef __KERNEL__
402 404
405#define ADDPART_FLAG_NONE 0
406#define ADDPART_FLAG_RAID 1
407#define ADDPART_FLAG_WHOLEDISK 2
408
403char *disk_name (struct gendisk *hd, int part, char *buf); 409char *disk_name (struct gendisk *hd, int part, char *buf);
404 410
405extern int rescan_partitions(struct gendisk *disk, struct block_device *bdev); 411extern int rescan_partitions(struct gendisk *disk, struct block_device *bdev);
406extern void add_partition(struct gendisk *, int, sector_t, sector_t); 412extern void add_partition(struct gendisk *, int, sector_t, sector_t, int);
407extern void delete_partition(struct gendisk *, int); 413extern void delete_partition(struct gendisk *, int);
408 414
409extern struct gendisk *alloc_disk_node(int minors, int node_id); 415extern struct gendisk *alloc_disk_node(int minors, int node_id);