From fbbdde85f8e7262cd002a8558c13e581d940a4f7 Mon Sep 17 00:00:00 2001 From: Poul-Henning Kamp Date: Sun, 8 Sep 2002 15:13:33 +0000 Subject: [PATCH] Deal with a new exteded MBR paritition type Submitted by: Michal Mertl --- sys/geom/geom_mbr.c | 2 +- sys/sys/disklabel.h | 1 + sys/sys/diskmbr.h | 1 + sys/sys/diskpc98.h | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/geom/geom_mbr.c b/sys/geom/geom_mbr.c index 1b1ca4daae54..31ad77b79199 100644 --- a/sys/geom/geom_mbr.c +++ b/sys/geom/geom_mbr.c @@ -348,7 +348,7 @@ g_mbrext_taste(struct g_class *mp, struct g_provider *pp, int insist __unused) slice = 0; while (1) { /* a trick to allow us to use break */ error = g_getattr("MBR::type", cp, &i); - if (error || i != DOSPTYP_EXT) + if (error || (i != DOSPTYP_EXT && i != DOSPTYP_EXTLBA)) break; error = g_getattr("GEOM::fwsectors", cp, &fwsectors); if (error) diff --git a/sys/sys/disklabel.h b/sys/sys/disklabel.h index 5430c3efb901..5558b20cbee1 100644 --- a/sys/sys/disklabel.h +++ b/sys/sys/disklabel.h @@ -324,6 +324,7 @@ struct dos_partition { #define DOSPTYP_LINSWP 0x82 /* Linux swap partition */ #define DOSPTYP_LINUX 0x83 /* Linux partition */ #define DOSPTYP_EXT 5 /* DOS extended partition */ +#define DOSPTYP_EXTLBA 15 /* DOS extended partition */ struct dos_partition { unsigned char dp_flag; /* bootstrap flags */ diff --git a/sys/sys/diskmbr.h b/sys/sys/diskmbr.h index 5430c3efb901..5558b20cbee1 100644 --- a/sys/sys/diskmbr.h +++ b/sys/sys/diskmbr.h @@ -324,6 +324,7 @@ struct dos_partition { #define DOSPTYP_LINSWP 0x82 /* Linux swap partition */ #define DOSPTYP_LINUX 0x83 /* Linux partition */ #define DOSPTYP_EXT 5 /* DOS extended partition */ +#define DOSPTYP_EXTLBA 15 /* DOS extended partition */ struct dos_partition { unsigned char dp_flag; /* bootstrap flags */ diff --git a/sys/sys/diskpc98.h b/sys/sys/diskpc98.h index 5430c3efb901..5558b20cbee1 100644 --- a/sys/sys/diskpc98.h +++ b/sys/sys/diskpc98.h @@ -324,6 +324,7 @@ struct dos_partition { #define DOSPTYP_LINSWP 0x82 /* Linux swap partition */ #define DOSPTYP_LINUX 0x83 /* Linux partition */ #define DOSPTYP_EXT 5 /* DOS extended partition */ +#define DOSPTYP_EXTLBA 15 /* DOS extended partition */ struct dos_partition { unsigned char dp_flag; /* bootstrap flags */