summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/fs/zfs/metaslab.c
diff options
context:
space:
mode:
authorTim Haley <Tim.Haley@Sun.COM>2009-11-09 23:34:30 -0700
committerTim Haley <Tim.Haley@Sun.COM>2009-11-09 23:34:30 -0700
commita33cae9802e94744efee12a7a77c89360645eae8 (patch)
treed7b69166d262288a2827d83a25f4ee1038cf44a7 /usr/src/uts/common/fs/zfs/metaslab.c
parent0bf69b1594a58d5fc853e7b79f8cb5edaeb0dc4c (diff)
downloadillumos-gate-a33cae9802e94744efee12a7a77c89360645eae8.tar.gz
6899159 injection isn't trashing pools
6899160 pool recovery info sometimes not appearing
Diffstat (limited to 'usr/src/uts/common/fs/zfs/metaslab.c')
-rw-r--r--usr/src/uts/common/fs/zfs/metaslab.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/usr/src/uts/common/fs/zfs/metaslab.c b/usr/src/uts/common/fs/zfs/metaslab.c
index 0f7f6aa68b..cdbed0144c 100644
--- a/usr/src/uts/common/fs/zfs/metaslab.c
+++ b/usr/src/uts/common/fs/zfs/metaslab.c
@@ -196,7 +196,12 @@ metaslab_group_destroy(metaslab_group_t *mg)
{
ASSERT(mg->mg_prev == NULL);
ASSERT(mg->mg_next == NULL);
- ASSERT(mg->mg_activation_count + mg->mg_vd->vdev_removing == 0);
+ /*
+ * We may have gone below zero with the activation count
+ * either because we never activated in the first place or
+ * because we're done, and possibly removing the vdev.
+ */
+ ASSERT(mg->mg_activation_count <= 0);
avl_destroy(&mg->mg_metaslab_tree);
mutex_destroy(&mg->mg_lock);