diff options
-rw-r--r-- | usr/src/boot/Makefile.version | 2 | ||||
-rw-r--r-- | usr/src/boot/sys/boot/common/disk.c | 11 | ||||
-rw-r--r-- | usr/src/boot/sys/boot/i386/gptzfsboot/zfsboot.c | 4 | ||||
-rw-r--r-- | usr/src/boot/sys/boot/zfs/zfs.c | 4 |
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); } |