From ba91cecfe00ec4ef13a14cca035a0a7b87789f07 Mon Sep 17 00:00:00 2001 From: rpaulo Date: Sat, 26 Jun 2010 13:20:40 +0000 Subject: Add NTFS partition type to GEOM_MBR. --- sys/geom/part/g_part.c | 1 + sys/geom/part/g_part.h | 1 + sys/geom/part/g_part_mbr.c | 14 ++++++++++++-- 3 files changed, 14 insertions(+), 2 deletions(-) (limited to 'sys/geom') diff --git a/sys/geom/part/g_part.c b/sys/geom/part/g_part.c index f47ac08..a7eebc6 100644 --- a/sys/geom/part/g_part.c +++ b/sys/geom/part/g_part.c @@ -91,6 +91,7 @@ struct g_part_alias_list { { "ms-ldm-data", G_PART_ALIAS_MS_LDM_DATA }, { "ms-ldm-metadata", G_PART_ALIAS_MS_LDM_METADATA }, { "ms-reserved", G_PART_ALIAS_MS_RESERVED }, + { "ntfs", G_PART_ALIAS_MS_NTFS }, { "netbsd-ccd", G_PART_ALIAS_NETBSD_CCD }, { "netbsd-cgd", G_PART_ALIAS_NETBSD_CGD }, { "netbsd-ffs", G_PART_ALIAS_NETBSD_FFS }, diff --git a/sys/geom/part/g_part.h b/sys/geom/part/g_part.h index e146cba..63cb069 100644 --- a/sys/geom/part/g_part.h +++ b/sys/geom/part/g_part.h @@ -59,6 +59,7 @@ enum g_part_alias { G_PART_ALIAS_MS_LDM_DATA, /* A Microsoft LDM Data part. entry. */ G_PART_ALIAS_MS_LDM_METADATA, /* A Microsoft LDM Metadata entry. */ G_PART_ALIAS_MS_RESERVED, /* A Microsoft Reserved part. entry. */ + G_PART_ALIAS_MS_NTFS, /* A Microsoft NTFS partition entry */ G_PART_ALIAS_NETBSD_CCD, /* A NetBSD CCD partition entry. */ G_PART_ALIAS_NETBSD_CGD, /* A NetBSD CGD partition entry. */ G_PART_ALIAS_NETBSD_FFS, /* A NetBSD FFS partition entry. */ diff --git a/sys/geom/part/g_part_mbr.c b/sys/geom/part/g_part_mbr.c index 8b5ba27..6cc6245 100644 --- a/sys/geom/part/g_part_mbr.c +++ b/sys/geom/part/g_part_mbr.c @@ -127,6 +127,11 @@ mbr_parse_type(const char *type, u_char *dp_typ) *dp_typ = DOSPTYP_386BSD; return (0); } + alias = g_part_alias_name(G_PART_ALIAS_MS_NTFS); + if (!strcasecmp(type, alias)) { + *dp_typ = DOSPTYP_NTFS; + return (0); + } return (EINVAL); } @@ -509,9 +514,14 @@ g_part_mbr_type(struct g_part_table *basetable, struct g_part_entry *baseentry, entry = (struct g_part_mbr_entry *)baseentry; type = entry->ent.dp_typ; - if (type == DOSPTYP_386BSD) + switch (type) { + case DOSPTYP_386BSD: return (g_part_alias_name(G_PART_ALIAS_FREEBSD)); - snprintf(buf, bufsz, "!%d", type); + case DOSPTYP_NTFS: + return (g_part_alias_name(G_PART_ALIAS_MS_NTFS)); + default: + snprintf(buf, bufsz, "!%d", type); + } return (buf); } -- cgit v1.1