summaryrefslogtreecommitdiffstats
path: root/sys/geom
diff options
context:
space:
mode:
authorrpaulo <rpaulo@FreeBSD.org>2010-06-26 13:20:40 +0000
committerrpaulo <rpaulo@FreeBSD.org>2010-06-26 13:20:40 +0000
commitba91cecfe00ec4ef13a14cca035a0a7b87789f07 (patch)
treeaf356135fb5167cee018597a9281e41e061677c9 /sys/geom
parent96f7f6794f1caa36ff2c775e64b773cb46900542 (diff)
downloadFreeBSD-src-ba91cecfe00ec4ef13a14cca035a0a7b87789f07.zip
FreeBSD-src-ba91cecfe00ec4ef13a14cca035a0a7b87789f07.tar.gz
Add NTFS partition type to GEOM_MBR.
Diffstat (limited to 'sys/geom')
-rw-r--r--sys/geom/part/g_part.c1
-rw-r--r--sys/geom/part/g_part.h1
-rw-r--r--sys/geom/part/g_part_mbr.c14
3 files changed, 14 insertions, 2 deletions
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);
}
OpenPOWER on IntegriCloud