diff usr/src/uts/common/fs/zfs/spa.c @ 7793:4dbbc0a3f135

6755897 recursive mutex enter in spa_vdev_enter when running test suite
author Jeff Bonwick <Jeff.Bonwick@Sun.COM>
date Thu, 09 Oct 2008 18:07:16 -0700
parents b80e4842ad54
children 001de5627df3
line wrap: on
line diff
--- a/usr/src/uts/common/fs/zfs/spa.c	Thu Oct 09 17:28:15 2008 -0700
+++ b/usr/src/uts/common/fs/zfs/spa.c	Thu Oct 09 18:07:16 2008 -0700
@@ -3184,8 +3184,11 @@
 		while ((spa = spa_next(spa)) != NULL) {
 			if (spa->spa_state != POOL_STATE_ACTIVE)
 				continue;
-
+			spa_open_ref(spa, FTAG);
+			mutex_exit(&spa_namespace_lock);
 			(void) spa_vdev_remove(spa, unspare_guid, B_TRUE);
+			mutex_enter(&spa_namespace_lock);
+			spa_close(spa, FTAG);
 		}
 		mutex_exit(&spa_namespace_lock);
 	}