svn commit: r348552 - vendor-sys/illumos/dist/uts/common/fs/zfs vendor/illumos/dist/cmd/zdb

Alexander Motin mav at FreeBSD.org
Mon Jun 3 17:06:03 UTC 2019


Author: mav
Date: Mon Jun  3 17:06:02 2019
New Revision: 348552
URL: https://svnweb.freebsd.org/changeset/base/348552

Log:
  9682 page fault in dsl_async_clone_destroy() while opening pool
  
  illumos/illumos-gate at ade2c82828f0dca1f46919aa1bd936ea1a5a0047
  
  Reviewed by: Brad Lewis <brad.lewis at delphix.com>
  Reviewed by: Matt Ahrens <matt at delphix.com>
  Reviewed by: Sara Hartse <sara.hartse at delphix.com>
  Approved by: Robert Mustacchi <rm at joyent.com>
  Author:     Serapheim Dimitropoulos <serapheim at delphix.com>

Modified:
  vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c

Changes in other areas also in this revision:
Modified:
  vendor/illumos/dist/cmd/zdb/zdb.c

Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c
==============================================================================
--- vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c	Mon Jun  3 17:02:35 2019	(r348551)
+++ vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c	Mon Jun  3 17:06:02 2019	(r348552)
@@ -3862,8 +3862,17 @@ spa_load_impl(spa_t *spa, spa_import_type_t type, char
 		 */
 		spa_history_log_version(spa, "open");
 
+		spa_restart_removal(spa);
+		spa_spawn_aux_threads(spa);
+
 		/*
 		 * Delete any inconsistent datasets.
+		 *
+		 * Note:
+		 * Since we may be issuing deletes for clones here,
+		 * we make sure to do so after we've spawned all the
+		 * auxiliary threads above (from which the livelist
+		 * deletion zthr is part of).
 		 */
 		(void) dmu_objset_find(spa_name(spa),
 		    dsl_destroy_inconsistent, NULL, DS_FIND_CHILDREN);
@@ -3872,10 +3881,6 @@ spa_load_impl(spa_t *spa, spa_import_type_t type, char
 		 * Clean up any stale temporary dataset userrefs.
 		 */
 		dsl_pool_clean_tmp_userrefs(spa->spa_dsl_pool);
-
-		spa_restart_removal(spa);
-
-		spa_spawn_aux_threads(spa);
 
 		spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
 		vdev_initialize_restart(spa->spa_root_vdev);


More information about the svn-src-vendor mailing list