summaryrefslogtreecommitdiffstats
path: root/sys/geom/part/g_part_gpt.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/geom/part/g_part_gpt.c')
-rw-r--r--sys/geom/part/g_part_gpt.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/geom/part/g_part_gpt.c b/sys/geom/part/g_part_gpt.c
index c3072bc..140c91a 100644
--- a/sys/geom/part/g_part_gpt.c
+++ b/sys/geom/part/g_part_gpt.c
@@ -124,6 +124,7 @@ static struct uuid gpt_uuid_freebsd = GPT_ENT_TYPE_FREEBSD;
static struct uuid gpt_uuid_freebsd_swap = GPT_ENT_TYPE_FREEBSD_SWAP;
static struct uuid gpt_uuid_freebsd_ufs = GPT_ENT_TYPE_FREEBSD_UFS;
static struct uuid gpt_uuid_freebsd_vinum = GPT_ENT_TYPE_FREEBSD_VINUM;
+static struct uuid gpt_uuid_freebsd_zfs = GPT_ENT_TYPE_FREEBSD_ZFS;
static struct uuid gpt_uuid_linux_swap = GPT_ENT_TYPE_LINUX_SWAP;
static struct uuid gpt_uuid_mbr = GPT_ENT_TYPE_MBR;
static struct uuid gpt_uuid_unused = GPT_ENT_TYPE_UNUSED;
@@ -309,6 +310,11 @@ gpt_parse_type(const char *type, struct uuid *uuid)
*uuid = gpt_uuid_freebsd_vinum;
return (0);
}
+ alias = g_part_alias_name(G_PART_ALIAS_FREEBSD_ZFS);
+ if (!strcasecmp(type, alias)) {
+ *uuid = gpt_uuid_freebsd_zfs;
+ return (0);
+ }
alias = g_part_alias_name(G_PART_ALIAS_MBR);
if (!strcasecmp(type, alias)) {
*uuid = gpt_uuid_mbr;
@@ -600,6 +606,8 @@ g_part_gpt_type(struct g_part_table *basetable, struct g_part_entry *baseentry,
return (g_part_alias_name(G_PART_ALIAS_FREEBSD_UFS));
if (EQUUID(type, &gpt_uuid_freebsd_vinum))
return (g_part_alias_name(G_PART_ALIAS_FREEBSD_VINUM));
+ if (EQUUID(type, &gpt_uuid_freebsd_zfs))
+ return (g_part_alias_name(G_PART_ALIAS_FREEBSD_ZFS));
if (EQUUID(type, &gpt_uuid_mbr))
return (g_part_alias_name(G_PART_ALIAS_MBR));
buf[0] = '!';
OpenPOWER on IntegriCloud