From bc758434fd3df659cb5caf3de6b1e90d9b23ee79 Mon Sep 17 00:00:00 2001 From: Lin Ling Date: Wed, 15 Jul 2009 23:11:56 -0700 Subject: 6856634 snv_117 not booting: zfs_parse_bootfs: error2 --- usr/src/uts/common/fs/zfs/vdev.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'usr/src/uts/common/fs/zfs/vdev.c') diff --git a/usr/src/uts/common/fs/zfs/vdev.c b/usr/src/uts/common/fs/zfs/vdev.c index 6408713a7e..4a44a603f0 100644 --- a/usr/src/uts/common/fs/zfs/vdev.c +++ b/usr/src/uts/common/fs/zfs/vdev.c @@ -1187,7 +1187,6 @@ vdev_validate(vdev_t *vd) nvlist_t *label; uint64_t guid, top_guid; uint64_t state; - boolean_t inactive_state; for (int c = 0; c < vd->vdev_children; c++) if (vdev_validate(vd->vdev_child[c]) != 0) @@ -1244,12 +1243,13 @@ vdev_validate(vdev_t *vd) nvlist_free(label); - inactive_state = (state == POOL_STATE_EXPORTED || - state == POOL_STATE_DESTROYED); - - if (spa->spa_load_state == SPA_LOAD_OPEN && - !(state == POOL_STATE_ACTIVE) && - !(spa->spa_inactive_states_ok && inactive_state)) + /* + * If spa->spa_load_verbatim is true, no need to check the + * state of the pool. + */ + if (!spa->spa_load_verbatim && + spa->spa_load_state == SPA_LOAD_OPEN && + state != POOL_STATE_ACTIVE) return (EBADF); /* -- cgit v1.2.3