summaryrefslogtreecommitdiffstats
path: root/sys/boot
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2011-10-19 23:37:30 +0000
committerpjd <pjd@FreeBSD.org>2011-10-19 23:37:30 +0000
commitdca375324ce41ff5bc7fb41e30690e8b7b26a39f (patch)
treea949976e29c5043f8581690c390e6117ffc2cdb6 /sys/boot
parent5dc66f9eb55508ef869730ada9c605920bd64f3a (diff)
downloadFreeBSD-src-dca375324ce41ff5bc7fb41e30690e8b7b26a39f.zip
FreeBSD-src-dca375324ce41ff5bc7fb41e30690e8b7b26a39f.tar.gz
Don't mark vdev as healthy too soon, so we won't try to use invalid vdevs.
MFC after: 3 days
Diffstat (limited to 'sys/boot')
-rw-r--r--sys/boot/zfs/zfsimpl.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/boot/zfs/zfsimpl.c b/sys/boot/zfs/zfsimpl.c
index 497667a..3052db6 100644
--- a/sys/boot/zfs/zfsimpl.c
+++ b/sys/boot/zfs/zfsimpl.c
@@ -543,8 +543,6 @@ vdev_init_from_nvlist(const unsigned char *nvlist, vdev_t *pvdev,
vdev->v_state = VDEV_STATE_DEGRADED;
else if (isnt_present)
vdev->v_state = VDEV_STATE_CANT_OPEN;
- else
- vdev->v_state = VDEV_STATE_HEALTHY;
}
rc = nvlist_find(nvlist, ZPOOL_CONFIG_CHILDREN,
@@ -912,6 +910,7 @@ vdev_probe(vdev_phys_read_t *read, void *read_priv, spa_t **spap)
if (vdev) {
vdev->v_phys_read = read;
vdev->v_read_priv = read_priv;
+ vdev->v_state = VDEV_STATE_HEALTHY;
} else {
printf("ZFS: inconsistent nvlist contents\n");
return (EIO);
OpenPOWER on IntegriCloud