mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
dev-type: detect mixed dos partition with gpt's PMBR
Detect when we have mixed dos partition with gpt's PMBR partition. This is not a sane configuration, but detect it anyway, just in case someone configures such partition layout manually and forcefully and incorrectly defines one of the partition types to be the GPT's PMBR. For example: ❯ fdisk -l /dev/sdc Device Boot Start End Sectors Size Id Type /dev/sdc1 2048 67583 65536 32M 83 Linux /dev/sdc2 67584 262143 194560 95M ee GPT Before: (The partition filter passes even though there's real existing dos partition - the empty GPT PMBR overrides it.) ❯ pvcreate /dev/sdc WARNING: PMBR signature detected on /dev/sdc at offset 510. Wipe it? [y/n]: Wiping PMBR signature on /dev/sdc. Physical volume "/dev/sdc" successfully created. With this patch applied: (The GPT PMBR does not override the existence of the dos partition.) ❯ pvcreate /dev/sdc Cannot use /dev/sdc: device is partitioned
This commit is contained in:
parent
e2e6b08518
commit
317fae4024
@ -663,7 +663,7 @@ static int _has_partition_table(struct device *dev)
|
||||
* If this is GPT's PMBR, then also
|
||||
* check for gpt partition table.
|
||||
*/
|
||||
if (buf.part[p].sys_ind == PART_MSDOS_TYPE_GPT_PMBR)
|
||||
if (buf.part[p].sys_ind == PART_MSDOS_TYPE_GPT_PMBR && !ret)
|
||||
ret = _has_gpt_partition_table(dev);
|
||||
else
|
||||
ret = 1;
|
||||
|
Loading…
Reference in New Issue
Block a user