|
Description
|
In CR# 6769487, GRUB failed because there is no devid value in zfs vdev label.
ZFS kernel module needs either the device physpath or devid from GRUB to
do zfs_mountroot(). GRUB can relax the checking by only requiring to find
one of physpath or devid instead of both.
fsys_zfs.c:
if (strcmp(type, VDEV_TYPE_DISK) == 0) {
if (vdev_validate(nv) != 0 ||
(nvlist_lookup_value(nv, ZPOOL_CONFIG_PHYS_PATH,
bootpath, DATA_TYPE_STRING, NULL) != 0) ||
(nvlist_lookup_value(nv, ZPOOL_CONFIG_DEVID,
devid, DATA_TYPE_STRING, NULL) != 0))
return (ERR_NO_BOOTPATH);
|