block: move the *_PARTITION enum out of genhd.h

The enum containing the *_PARTITION symbolic names is only relevant
for the partition parser.  More specifically most values are MSDOS
partition table system indicators and thus should go straight into
msdos.c.  One value is only used by the sun partition parser, and the
sun and sgi partition parsers use the same value as the x86 Linux
RAID indicator to also indicate RAID autodetection.  Duplicate them
in sun.c and sgi.c given that the different partition types use
entirely different values otherwise.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Christoph Hellwig 2020-03-24 08:25:27 +01:00 committed by Jens Axboe
parent 1442f76d43
commit 0226e9ead4
4 changed files with 40 additions and 30 deletions

View File

@ -9,6 +9,10 @@
#define SGI_LABEL_MAGIC 0x0be5a941 #define SGI_LABEL_MAGIC 0x0be5a941
enum {
LINUX_RAID_PARTITION = 0xfd, /* autodetect RAID partition */
};
struct sgi_disklabel { struct sgi_disklabel {
__be32 magic_mushroom; /* Big fat spliff... */ __be32 magic_mushroom; /* Big fat spliff... */
__be16 root_part_num; /* Root partition number */ __be16 root_part_num; /* Root partition number */

View File

@ -13,6 +13,11 @@
#define SUN_LABEL_MAGIC 0xDABE #define SUN_LABEL_MAGIC 0xDABE
#define SUN_VTOC_SANITY 0x600DDEEE #define SUN_VTOC_SANITY 0x600DDEEE
enum {
SUN_WHOLE_DISK = 5,
LINUX_RAID_PARTITION = 0xfd, /* autodetect RAID partition */
};
int sun_partition(struct parsed_partitions *state) int sun_partition(struct parsed_partitions *state)
{ {
int i; int i;

View File

@ -30,36 +30,6 @@ extern struct device_type part_type;
extern struct kobject *block_depr; extern struct kobject *block_depr;
extern struct class block_class; extern struct class block_class;
enum {
/* These three have identical behaviour; use the second one if DOS FDISK gets
confused about extended/logical partitions starting past cylinder 1023. */
DOS_EXTENDED_PARTITION = 5,
LINUX_EXTENDED_PARTITION = 0x85,
WIN98_EXTENDED_PARTITION = 0x0f,
SUN_WHOLE_DISK = DOS_EXTENDED_PARTITION,
LINUX_SWAP_PARTITION = 0x82,
LINUX_DATA_PARTITION = 0x83,
LINUX_LVM_PARTITION = 0x8e,
LINUX_RAID_PARTITION = 0xfd, /* autodetect RAID partition */
SOLARIS_X86_PARTITION = LINUX_SWAP_PARTITION,
NEW_SOLARIS_X86_PARTITION = 0xbf,
DM6_AUX1PARTITION = 0x51, /* no DDO: use xlated geom */
DM6_AUX3PARTITION = 0x53, /* no DDO: use xlated geom */
DM6_PARTITION = 0x54, /* has DDO: use xlated geom & offset */
EZD_PARTITION = 0x55, /* EZ-DRIVE */
FREEBSD_PARTITION = 0xa5, /* FreeBSD Partition ID */
OPENBSD_PARTITION = 0xa6, /* OpenBSD Partition ID */
NETBSD_PARTITION = 0xa9, /* NetBSD Partition ID */
BSDI_PARTITION = 0xb7, /* BSDI Partition ID */
MINIX_PARTITION = 0x81, /* Minix Partition ID */
UNIXWARE_PARTITION = 0x63, /* Same as GNU_HURD and SCO Unix */
};
#define DISK_MAX_PARTS 256 #define DISK_MAX_PARTS 256
#define DISK_NAME_LEN 32 #define DISK_NAME_LEN 32

View File

@ -17,4 +17,35 @@ struct msdos_partition {
__le32 nr_sects; /* nr of sectors in partition */ __le32 nr_sects; /* nr of sectors in partition */
} __packed; } __packed;
enum msdos_sys_ind {
/*
* These three have identical behaviour; use the second one if DOS FDISK
* gets confused about extended/logical partitions starting past
* cylinder 1023.
*/
DOS_EXTENDED_PARTITION = 5,
LINUX_EXTENDED_PARTITION = 0x85,
WIN98_EXTENDED_PARTITION = 0x0f,
LINUX_SWAP_PARTITION = 0x82,
LINUX_DATA_PARTITION = 0x83,
LINUX_LVM_PARTITION = 0x8e,
LINUX_RAID_PARTITION = 0xfd, /* autodetect RAID partition */
SOLARIS_X86_PARTITION = LINUX_SWAP_PARTITION,
NEW_SOLARIS_X86_PARTITION = 0xbf,
DM6_AUX1PARTITION = 0x51, /* no DDO: use xlated geom */
DM6_AUX3PARTITION = 0x53, /* no DDO: use xlated geom */
DM6_PARTITION = 0x54, /* has DDO: use xlated geom & offset */
EZD_PARTITION = 0x55, /* EZ-DRIVE */
FREEBSD_PARTITION = 0xa5, /* FreeBSD Partition ID */
OPENBSD_PARTITION = 0xa6, /* OpenBSD Partition ID */
NETBSD_PARTITION = 0xa9, /* NetBSD Partition ID */
BSDI_PARTITION = 0xb7, /* BSDI Partition ID */
MINIX_PARTITION = 0x81, /* Minix Partition ID */
UNIXWARE_PARTITION = 0x63, /* Same as GNU_HURD and SCO Unix */
};
#endif /* LINUX_MSDOS_PARTITION_H */ #endif /* LINUX_MSDOS_PARTITION_H */