loader should boot pre-feature flags pools.

The feature flags chek is missing the corner case where we have valid pool
version, but feature flags are not enabled - as for example plain v28 pool.

This update does fix the boot support for such pools.

Reviewed by:	avg, allanjude
Approved by:	allanjude (mentor)
Differential Revision:	https://reviews.freebsd.org/D8331
This commit is contained in:
tsoome 2016-10-24 16:28:54 +00:00
parent 4e67cd531b
commit a7fc28b2d8

View File

@ -2122,8 +2122,13 @@ check_mos_features(const spa_t *spa)
&dir)) != 0)
return (rc);
if ((rc = zap_lookup(spa, &dir, DMU_POOL_FEATURES_FOR_READ,
sizeof (objnum), 1, &objnum)) != 0)
return (rc);
sizeof (objnum), 1, &objnum)) != 0) {
/*
* It is older pool without features. As we have already
* tested the label, just return without raising the error.
*/
return (0);
}
if ((rc = objset_get_dnode(spa, &spa->spa_mos, objnum, &dir)) != 0)
return (rc);