summaryrefslogtreecommitdiffstats
path: root/tests/runfiles
diff options
context:
space:
mode:
authorChunwei Chen <[email protected]>2019-08-28 10:42:02 -0700
committerBrian Behlendorf <[email protected]>2019-08-28 10:42:02 -0700
commit035e96118bc9a7cbf435dd17dda507b870fcf6e6 (patch)
tree71cb2c19bd850251f28966a37e7ce148a65a513b /tests/runfiles
parent9c9dcd6e04ae7a868efafe4447bdbe67ae25a6da (diff)
Fix zil replay panic when TX_REMOVE followed by TX_CREATE
If TX_REMOVE is followed by TX_CREATE on the same object id, we need to make sure the object removal is completely finished before creation. The current implementation relies on dnode_hold_impl with DNODE_MUST_BE_ALLOCATED returning ENOENT. While this check seems to work fine before, in current version it does not guarantee the object removal is completed. We fix this by checking if DNODE_MUST_BE_FREE returns successful instead. Also add test and remove dead code in dnode_hold_impl. Reviewed-by: Brian Behlendorf <[email protected]> Reviewed-by: Tom Caputi <[email protected]> Signed-off-by: Chunwei Chen <[email protected]> Closes #7151 Closes #8910 Closes #9123 Closes #9145
Diffstat (limited to 'tests/runfiles')
-rw-r--r--tests/runfiles/linux.run4
1 files changed, 2 insertions, 2 deletions
diff --git a/tests/runfiles/linux.run b/tests/runfiles/linux.run
index 80b48ee1d..d05ff6120 100644
--- a/tests/runfiles/linux.run
+++ b/tests/runfiles/linux.run
@@ -835,8 +835,8 @@ tags = ['functional', 'scrub_mirror']
tests = ['slog_001_pos', 'slog_002_pos', 'slog_003_pos', 'slog_004_pos',
'slog_005_pos', 'slog_006_pos', 'slog_007_pos', 'slog_008_neg',
'slog_009_neg', 'slog_010_neg', 'slog_011_neg', 'slog_012_neg',
- 'slog_013_pos', 'slog_014_pos', 'slog_015_neg', 'slog_replay_fs',
- 'slog_replay_volume']
+ 'slog_013_pos', 'slog_014_pos', 'slog_015_neg', 'slog_replay_fs_001',
+ 'slog_replay_fs_002', 'slog_replay_volume']
tags = ['functional', 'slog']
[tests/functional/snapshot]