summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorilovezfs <[email protected]>2015-11-22 04:06:21 -0800
committerBrian Behlendorf <[email protected]>2015-12-04 09:27:00 -0800
commit917b8c5cec074869a0bf4e9956b7d24f14221d84 (patch)
tree52e6949083e0d0a679021e03b4c0fe409c298cdd /lib
parentfc80384923dde365ad40c6b6f5a7daa3e556b1e5 (diff)
Ext4's typical GPT partition type not recognized
Adding additional entries to the efi conversion array will help prevent the overwriting of the GPTs of disks with in-use file systems in more cases. Most notably, this adds partition type 8300 "Linux filesystem" (0FC63DAF-8483-4772-8E79-3D69D8477DE4), which is often used for ext4 and btrfs, among others. This commit itself does nothing to address the underlying problematic behavior that check_slice() isn't called on partitions of an unrecognized type, even when they contain a currently mounted file system. The additional entries were derived from these two resources: https://en.wikipedia.org/wiki/GUID_Partition_Table http://sourceforge.net/p/gptfdisk/code/ci/master/tree/parttypes.cc Signed-off-by: ilovezfs <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Issue #4016
Diffstat (limited to 'lib')
-rw-r--r--lib/libefi/rdwr_efi.c62
1 files changed, 61 insertions, 1 deletions
diff --git a/lib/libefi/rdwr_efi.c b/lib/libefi/rdwr_efi.c
index bb9050375..b05b88b97 100644
--- a/lib/libefi/rdwr_efi.c
+++ b/lib/libefi/rdwr_efi.c
@@ -75,7 +75,67 @@ static struct uuid_to_ptag {
{ EFI_FREEBSD_SWAP },
{ EFI_FREEBSD_UFS },
{ EFI_FREEBSD_VINUM },
- { EFI_FREEBSD_ZFS }
+ { EFI_FREEBSD_ZFS },
+ { EFI_BIOS_BOOT },
+ { EFI_INTC_RS },
+ { EFI_SNE_BOOT },
+ { EFI_LENOVO_BOOT },
+ { EFI_MSFT_LDMM },
+ { EFI_MSFT_LDMD },
+ { EFI_MSFT_RE },
+ { EFI_IBM_GPFS },
+ { EFI_MSFT_STORAGESPACES },
+ { EFI_HPQ_DATA },
+ { EFI_HPQ_SVC },
+ { EFI_RHT_DATA },
+ { EFI_RHT_HOME },
+ { EFI_RHT_SRV },
+ { EFI_RHT_DMCRYPT },
+ { EFI_RHT_LUKS },
+ { EFI_FREEBSD_DISKLABEL },
+ { EFI_AAPL_RAID },
+ { EFI_AAPL_RAIDOFFLINE },
+ { EFI_AAPL_BOOT },
+ { EFI_AAPL_LABEL },
+ { EFI_AAPL_TVRECOVERY },
+ { EFI_AAPL_CORESTORAGE },
+ { EFI_NETBSD_SWAP },
+ { EFI_NETBSD_FFS },
+ { EFI_NETBSD_LFS },
+ { EFI_NETBSD_RAID },
+ { EFI_NETBSD_CAT },
+ { EFI_NETBSD_CRYPT },
+ { EFI_GOOG_KERN },
+ { EFI_GOOG_ROOT },
+ { EFI_GOOG_RESV },
+ { EFI_HAIKU_BFS },
+ { EFI_MIDNIGHTBSD_BOOT },
+ { EFI_MIDNIGHTBSD_DATA },
+ { EFI_MIDNIGHTBSD_SWAP },
+ { EFI_MIDNIGHTBSD_UFS },
+ { EFI_MIDNIGHTBSD_VINUM },
+ { EFI_MIDNIGHTBSD_ZFS },
+ { EFI_CEPH_JOURNAL },
+ { EFI_CEPH_DMCRYPTJOURNAL },
+ { EFI_CEPH_OSD },
+ { EFI_CEPH_DMCRYPTOSD },
+ { EFI_CEPH_CREATE },
+ { EFI_CEPH_DMCRYPTCREATE },
+ { EFI_OPENBSD_DISKLABEL },
+ { EFI_BBRY_QNX },
+ { EFI_BELL_PLAN9 },
+ { EFI_VMW_KCORE },
+ { EFI_VMW_VMFS },
+ { EFI_VMW_RESV },
+ { EFI_RHT_ROOTX86 },
+ { EFI_RHT_ROOTAMD64 },
+ { EFI_RHT_ROOTARM },
+ { EFI_RHT_ROOTARM64 },
+ { EFI_ACRONIS_SECUREZONE },
+ { EFI_ONIE_BOOT },
+ { EFI_ONIE_CONFIG },
+ { EFI_IBM_PPRPBOOT },
+ { EFI_FREEDESKTOP_BOOT }
};
/*