svn commit: r209536 - in head/sys: geom/part sys
Rui Paulo
rpaulo at FreeBSD.org
Sat Jun 26 13:20:41 UTC 2010
Author: rpaulo
Date: Sat Jun 26 13:20:40 2010
New Revision: 209536
URL: http://svn.freebsd.org/changeset/base/209536
Log:
Add NTFS partition type to GEOM_MBR.
Modified:
head/sys/geom/part/g_part.c
head/sys/geom/part/g_part.h
head/sys/geom/part/g_part_mbr.c
head/sys/sys/diskmbr.h
Modified: head/sys/geom/part/g_part.c
==============================================================================
--- head/sys/geom/part/g_part.c Sat Jun 26 08:34:22 2010 (r209535)
+++ head/sys/geom/part/g_part.c Sat Jun 26 13:20:40 2010 (r209536)
@@ -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 },
Modified: head/sys/geom/part/g_part.h
==============================================================================
--- head/sys/geom/part/g_part.h Sat Jun 26 08:34:22 2010 (r209535)
+++ head/sys/geom/part/g_part.h Sat Jun 26 13:20:40 2010 (r209536)
@@ -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. */
Modified: head/sys/geom/part/g_part_mbr.c
==============================================================================
--- head/sys/geom/part/g_part_mbr.c Sat Jun 26 08:34:22 2010 (r209535)
+++ head/sys/geom/part/g_part_mbr.c Sat Jun 26 13:20:40 2010 (r209536)
@@ -127,6 +127,11 @@ mbr_parse_type(const char *type, u_char
*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 *bas
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);
}
Modified: head/sys/sys/diskmbr.h
==============================================================================
--- head/sys/sys/diskmbr.h Sat Jun 26 08:34:22 2010 (r209535)
+++ head/sys/sys/diskmbr.h Sat Jun 26 13:20:40 2010 (r209536)
@@ -49,6 +49,7 @@
#define DOSPTYP_PMBR 0xee /* GPT Protective MBR */
#define DOSPTYP_EXT 5 /* DOS extended partition */
#define DOSPTYP_EXTLBA 15 /* DOS extended partition */
+#define DOSPTYP_NTFS 0x07 /* NTFS partition */
struct dos_partition {
unsigned char dp_flag; /* bootstrap flags */
More information about the svn-src-head
mailing list