OpenSolaris

Printable Version Enter a New Search
Bug ID 6787193
Synopsis opensolaris 2008.11 - spa_get_rootconf() should check for either physpath
State 11-Closed:Will Not Fix (Closed)
Category:Subcategory kernel:zfs
Keywords
Responsible Engineer George Wilson
Reported Against
Duplicate Of
Introduced In
Commit to Fix
Fixed In
Release Fixed
Related Bugs
Submit Date 18-December-2008
Last Update Date 31-March-2009
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.
Work Around
N/A
Comments
N/A