partitions/msdos: remove LINUX_SWAP_PARTITION
authorChristoph Hellwig <hch@lst.de>
Tue, 24 Mar 2020 07:25:28 +0000 (08:25 +0100)
committerJens Axboe <axboe@kernel.dk>
Tue, 24 Mar 2020 13:57:08 +0000 (07:57 -0600)
Just always use NEW_SOLARIS_X86_PARTITION and explain the situation,
as that is less confusing than two names for a single value.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/partitions/msdos.c
include/linux/msdos_partition.h

index 88ee5ee..e44e2f0 100644 (file)
@@ -77,13 +77,19 @@ static int aix_magic_present(struct parsed_partitions *state, unsigned char *p)
                p[2] == AIX_LABEL_MAGIC3 &&
                p[3] == AIX_LABEL_MAGIC4))
                return 0;
-       /* Assume the partition table is valid if Linux partitions exists */
+
+       /*
+        * Assume the partition table is valid if Linux partitions exists.
+        * Note that old Solaris/x86 partitions use the same indicator as
+        * Linux swap partitions, so we consider that a Linux partition as
+        * well.
+        */
        for (slot = 1; slot <= 4; slot++, pt++) {
-               if (pt->sys_ind == LINUX_SWAP_PARTITION ||
-                       pt->sys_ind == LINUX_RAID_PARTITION ||
-                       pt->sys_ind == LINUX_DATA_PARTITION ||
-                       pt->sys_ind == LINUX_LVM_PARTITION ||
-                       is_extended_partition(pt))
+               if (pt->sys_ind == SOLARIS_X86_PARTITION ||
+                   pt->sys_ind == LINUX_RAID_PARTITION ||
+                   pt->sys_ind == LINUX_DATA_PARTITION ||
+                   pt->sys_ind == LINUX_LVM_PARTITION ||
+                   is_extended_partition(pt))
                        return 0;
        }
        d = read_part_sector(state, 7, &sect);
index e151af0..2cb82db 100644 (file)
@@ -27,12 +27,11 @@ enum msdos_sys_ind {
        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,
+       SOLARIS_X86_PARTITION = 0x82,   /* also Linux swap partitions */
        NEW_SOLARIS_X86_PARTITION = 0xbf,
 
        DM6_AUX1PARTITION = 0x51,       /* no DDO:  use xlated geom */