summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorPaul Dagnelie <[email protected]>2019-08-30 09:28:31 -0700
committerBrian Behlendorf <[email protected]>2019-08-30 09:28:31 -0700
commit475aa97cab771b3b2b9ddab03f5c14a1d4e985da (patch)
tree5c98356645033b616a57797736415f93fcc900ab /tests
parente2fcfa70e36a9f7c059ec64d787f37c6bd9ae48c (diff)
Prevent metaslab_sync panic due to spa_final_dirty_txg
If a pool enables the SPACEMAP_HISTOGRAM feature shortly before being exported, we can enter a situation that causes a kernel panic. Any metaslabs that are loaded during the final dirty txg and haven't already been condensed will cause metaslab_sync to proceed after the final dirty txg so that the condense can be performed, which there are assertions to prevent. Because of the nature of this issue, there are a number of ways we can enter this state. Rather than try to prevent each of them one by one, potentially missing some edge cases, we instead cut it off at the point of intersection; by preventing metaslab_sync from proceeding if it would only do so to perform a condense and we're past the final dirty txg, we preserve the utility of the existing asserts while preventing this particular issue. Reviewed-by: Matt Ahrens <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Paul Dagnelie <[email protected]> Closes #9185 Closes #9186 Closes #9231 Closes #9253
Diffstat (limited to 'tests')
-rw-r--r--tests/runfiles/linux.run8
1 files changed, 3 insertions, 5 deletions
diff --git a/tests/runfiles/linux.run b/tests/runfiles/linux.run
index a9ef628bc..d05ff6120 100644
--- a/tests/runfiles/linux.run
+++ b/tests/runfiles/linux.run
@@ -481,15 +481,13 @@ tests = ['zpool_trim_attach_detach_add_remove',
tags = ['functional', 'zpool_trim']
[tests/functional/cli_root/zpool_upgrade]
-tests = ['zpool_upgrade_001_pos',
+tests = ['zpool_upgrade_001_pos', 'zpool_upgrade_002_pos',
+ 'zpool_upgrade_003_pos', 'zpool_upgrade_004_pos',
'zpool_upgrade_005_neg', 'zpool_upgrade_006_neg',
+ 'zpool_upgrade_007_pos', 'zpool_upgrade_008_pos',
'zpool_upgrade_009_neg']
tags = ['functional', 'cli_root', 'zpool_upgrade']
-# Disabled pending resolution of #9185 and #9186.
-# 'zpool_upgrade_002_pos', 'zpool_upgrade_003_pos', 'zpool_upgrade_004_pos',
-# 'zpool_upgrade_007_pos', 'zpool_upgrade_008_pos',
-
[tests/functional/cli_user/misc]
tests = ['zdb_001_neg', 'zfs_001_neg', 'zfs_allow_001_neg',
'zfs_clone_001_neg', 'zfs_create_001_neg', 'zfs_destroy_001_neg',