Add NTFS partition type to GEOM_MBR.

This commit is contained in:
rpaulo 2010-06-26 13:20:40 +00:00
parent 96f7f6794f
commit ba91cecfe0
4 changed files with 15 additions and 2 deletions

View File

@ -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 },

View File

@ -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. */

View File

@ -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);
}

View File

@ -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 */