summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--usr/src/boot/Makefile.version2
-rw-r--r--usr/src/boot/sys/boot/common/disk.c11
-rw-r--r--usr/src/boot/sys/boot/i386/gptzfsboot/zfsboot.c4
-rw-r--r--usr/src/boot/sys/boot/zfs/zfs.c4
4 files changed, 15 insertions, 6 deletions
diff --git a/usr/src/boot/Makefile.version b/usr/src/boot/Makefile.version
index 410c2d4b4a..af557cc15f 100644
--- a/usr/src/boot/Makefile.version
+++ b/usr/src/boot/Makefile.version
@@ -33,4 +33,4 @@ LOADER_VERSION = 1.1
# Use date like formatting here, YYYY.MM.DD.XX, without leading zeroes.
# The version is processed from left to right, the version number can only
# be increased.
-BOOT_VERSION = $(LOADER_VERSION)-2018.2.11.1
+BOOT_VERSION = $(LOADER_VERSION)-2018.2.22.1
diff --git a/usr/src/boot/sys/boot/common/disk.c b/usr/src/boot/sys/boot/common/disk.c
index 61a4e38b1c..e45cb93905 100644
--- a/usr/src/boot/sys/boot/common/disk.c
+++ b/usr/src/boot/sys/boot/common/disk.c
@@ -131,11 +131,16 @@ ptable_print(void *arg, const char *pname, const struct ptable_entry *part)
dev.d_partition = -1;
if (disk_open(&dev, part->end - part->start + 1,
od->sectorsize) == 0) {
+ enum ptable_type pt = PTABLE_NONE;
+
table = ptable_open(&dev, part->end - part->start + 1,
od->sectorsize, ptblread);
- if (table != NULL &&
- (ptable_gettype(table) == PTABLE_BSD ||
- ptable_gettype(table) == PTABLE_VTOC8)) {
+ if (table != NULL)
+ pt = ptable_gettype(table);
+
+ if (pt == PTABLE_BSD ||
+ pt == PTABLE_VTOC8 ||
+ pt == PTABLE_VTOC) {
sprintf(line, " %s%s", pa->prefix, pname);
bsd.dev = &dev;
bsd.prefix = line;
diff --git a/usr/src/boot/sys/boot/i386/gptzfsboot/zfsboot.c b/usr/src/boot/sys/boot/i386/gptzfsboot/zfsboot.c
index 537fc898e7..cc161b564e 100644
--- a/usr/src/boot/sys/boot/i386/gptzfsboot/zfsboot.c
+++ b/usr/src/boot/sys/boot/i386/gptzfsboot/zfsboot.c
@@ -613,7 +613,9 @@ probe_partition(void *arg, const char *partname,
table = ptable_open(&pa, part->end - part->start + 1,
ppa->secsz, parttblread);
if (table != NULL) {
- if (ptable_gettype(table) == PTABLE_VTOC8) {
+ enum ptable_type pt = ptable_gettype(table);
+
+ if (pt == PTABLE_VTOC8 || pt == PTABLE_VTOC) {
ret = ptable_iterate(table, &pa,
probe_partition);
ptable_close(table);
diff --git a/usr/src/boot/sys/boot/zfs/zfs.c b/usr/src/boot/sys/boot/zfs/zfs.c
index 033e0d98d6..3dbb955e55 100644
--- a/usr/src/boot/sys/boot/zfs/zfs.c
+++ b/usr/src/boot/sys/boot/zfs/zfs.c
@@ -516,7 +516,9 @@ zfs_probe_partition(void *arg, const char *partname,
table = ptable_open(&pa, part->end - part->start + 1,
ppa->secsz, zfs_diskread);
if (table != NULL) {
- if (ptable_gettype(table) == PTABLE_VTOC8)
+ enum ptable_type pt = ptable_gettype(table);
+
+ if (pt == PTABLE_VTOC8 || pt == PTABLE_VTOC)
ptable_iterate(table, &pa, zfs_probe_partition);
ptable_close(table);
}