summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2002-09-08 15:13:33 +0000
committerphk <phk@FreeBSD.org>2002-09-08 15:13:33 +0000
commit6030f301125d27caade850afcb344110a1712545 (patch)
tree1484e09534dc09a8c084a38bb3b85456a6ab5e66
parent549c71a09915ad3f75cea2d2ae2e05e7abbc82ef (diff)
downloadFreeBSD-src-6030f301125d27caade850afcb344110a1712545.zip
FreeBSD-src-6030f301125d27caade850afcb344110a1712545.tar.gz
Deal with a new exteded MBR paritition type
Submitted by: Michal Mertl <mime@traveller.cz>
-rw-r--r--sys/geom/geom_mbr.c2
-rw-r--r--sys/sys/disklabel.h1
-rw-r--r--sys/sys/diskmbr.h1
-rw-r--r--sys/sys/diskpc98.h1
4 files changed, 4 insertions, 1 deletions
diff --git a/sys/geom/geom_mbr.c b/sys/geom/geom_mbr.c
index 1b1ca4d..31ad77b 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 5430c3e..5558b20 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 5430c3e..5558b20 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 5430c3e..5558b20 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 */
OpenPOWER on IntegriCloud