|
Description
|
It is not possible to boot a mirror zfs root configuration when using Opensolaris 2008.11 in the Amazon EC2 cloud. The problem is that the VM image used only contains a physical path and not a devid. This fails this check in spa_get_rootconf():
int
spa_get_rootconf()
{
<snip>
/*
* Go thru vdevs in the mirror to see if the given device
* has the most recent txg. Only the device with the most
* recent txg has valid information and should be booted.
*/
for (c = 0; c < children; c++) {
char *cdevid, *cpath;
uint64_t tmptxg;
if (nvlist_lookup_string(child[c], ZPOOL_CONFIG_PHYS_PATH,
&cpath) != 0)
return (EINVAL);
if (nvlist_lookup_string(child[c], ZPOOL_CONFIG_DEVID,
&cdevid) != 0)
return (EINVAL);
Because we don't have a devid, this function returns back EINVAL and system fails to boot.
|