problem booting to multi-vdev root pool [Was: kern/150503: [zfs] ZFS disks are UNAVAIL and corrupted after reboot]

Andriy Gapon avg at
Fri Nov 16 15:45:28 UTC 2012

on 13/11/2012 18:16 Guido Falsi said the following:
> My idea, but is just a speculation, i could be very wrong, is that the geom
> tasting code has some problem with multiple vdev root pools.


you are absolutely correct.  The code for reconstructing/tasting a root pool
configuration is a modified upstream code, so it inherited a limitation from it:
the support for only a single top-level vdev in a root pool.
I have an idea how to add the missing support, but it turned out not to be
something that I can hack together in couple of hours.

So, instead I wrote the following patch that should fall back to using a root pool
configuration from zpool.cache (if it's present there) for a multi-vdev root pool:

The patch also fixes a minor (single-time) memory leak.

Guido, Bartosz,
could you please test the patch?

Apologies for the breakage.

Andriy Gapon

More information about the freebsd-current mailing list