svn commit: r348913 - in stable/12: cddl/contrib/opensolaris/cmd/zdb sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Alexander Motin
mav at FreeBSD.org
Tue Jun 11 14:22:42 UTC 2019
Author: mav
Date: Tue Jun 11 14:22:40 2019
New Revision: 348913
URL: https://svnweb.freebsd.org/changeset/base/348913
Log:
MFC r348564: MFV r348552:
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:
stable/12/cddl/contrib/opensolaris/cmd/zdb/zdb.c
stable/12/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
Directory Properties:
stable/12/ (props changed)
Modified: stable/12/cddl/contrib/opensolaris/cmd/zdb/zdb.c
==============================================================================
--- stable/12/cddl/contrib/opensolaris/cmd/zdb/zdb.c Tue Jun 11 14:21:15 2019 (r348912)
+++ stable/12/cddl/contrib/opensolaris/cmd/zdb/zdb.c Tue Jun 11 14:22:40 2019 (r348913)
@@ -2271,10 +2271,11 @@ dump_dir(objset_t *os)
dmu_objset_name(os, osname);
(void) printf("Dataset %s [%s], ID %llu, cr_txg %llu, "
- "%s, %llu objects%s\n",
+ "%s, %llu objects%s%s\n",
osname, type, (u_longlong_t)dmu_objset_id(os),
(u_longlong_t)dds.dds_creation_txg,
- numbuf, (u_longlong_t)usedobjs, blkbuf);
+ numbuf, (u_longlong_t)usedobjs, blkbuf,
+ (dds.dds_inconsistent) ? " (inconsistent)" : "");
if (zopt_objects != 0) {
for (i = 0; i < zopt_objects; i++)
Modified: stable/12/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
==============================================================================
--- stable/12/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c Tue Jun 11 14:21:15 2019 (r348912)
+++ stable/12/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c Tue Jun 11 14:22:40 2019 (r348913)
@@ -3953,8 +3953,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);
@@ -3963,10 +3972,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-stable-12
mailing list