summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYuri Pankov <[email protected]>2013-03-06 17:57:09 -0800
committerBrian Behlendorf <[email protected]>2013-10-31 14:57:59 -0700
commit7011fb6004b2227ff9e89894ed69ab83d36c1696 (patch)
treedf4d1b20b17057400dc270881bf26e57b9675862
parentd1fada1e6d953e32de4080bd366df17c640de191 (diff)
Illumos #3517
3517 importing pool with autoreplace=on and "hole" vdevs crashes syseventd Reviewed by: Albert Lee <[email protected]> Reviewed by: Jeffry Molanus <[email protected]> Reviewed by: George Wilson <[email protected]> Approved by: Christopher Siden <[email protected]> References: https://www.illumos.org/issues/3517 illumos/illumos-gate@efb4a871d8fd510a833bdca610528dde5ed69e42 Ported-by: Richard Yao <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Issue #1775
-rw-r--r--module/zfs/spa.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/module/zfs/spa.c b/module/zfs/spa.c
index b400896c2..76daaf627 100644
--- a/module/zfs/spa.c
+++ b/module/zfs/spa.c
@@ -21,8 +21,8 @@
/*
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
* Copyright (c) 2012 by Delphix. All rights reserved.
+ * Copyright 2013 Nexenta Systems, Inc. All rights reserved.
*/
/*
@@ -1597,7 +1597,8 @@ spa_check_removed(vdev_t *vd)
for (c = 0; c < vd->vdev_children; c++)
spa_check_removed(vd->vdev_child[c]);
- if (vd->vdev_ops->vdev_op_leaf && vdev_is_dead(vd)) {
+ if (vd->vdev_ops->vdev_op_leaf && vdev_is_dead(vd) &&
+ !vd->vdev_ishole) {
zfs_ereport_post(FM_EREPORT_RESOURCE_AUTOREPLACE,
vd->vdev_spa, vd, NULL, 0, 0);
spa_event_notify(vd->vdev_spa, vd, FM_EREPORT_ZFS_DEVICE_CHECK);