summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/fs
diff options
context:
space:
mode:
authorLin Ling <Lin.Ling@Sun.COM>2010-05-07 17:54:23 -0700
committerLin Ling <Lin.Ling@Sun.COM>2010-05-07 17:54:23 -0700
commitfcbfa62b65cede474ae89b4667e84130611d0ba7 (patch)
treeb92bfeb45ddab069269977221eca675ae56e71dd /usr/src/uts/common/fs
parentfb81204d340565e9e16eba5491a10608f3d66215 (diff)
downloadillumos-gate-fcbfa62b65cede474ae89b4667e84130611d0ba7.tar.gz
6950285 race between removing a top-level vdev and updating the vdev labels
Diffstat (limited to 'usr/src/uts/common/fs')
-rw-r--r--usr/src/uts/common/fs/zfs/spa.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/usr/src/uts/common/fs/zfs/spa.c b/usr/src/uts/common/fs/zfs/spa.c
index 73c0d9c451..fd59b529ee 100644
--- a/usr/src/uts/common/fs/zfs/spa.c
+++ b/usr/src/uts/common/fs/zfs/spa.c
@@ -4446,6 +4446,12 @@ spa_vdev_remove_from_namespace(spa_t *spa, vdev_t *vd)
vd = vdev_alloc_common(spa, id, 0, &vdev_hole_ops);
vdev_add_child(rvd, vd);
}
+ vdev_config_dirty(rvd);
+
+ /*
+ * Reassess the health of our root vdev.
+ */
+ vdev_reopen(rvd);
}
/*