ZTS: Fix add_nested_replacing_spare test case #7342
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
It seems
zpool scrub
is not a good candidate to kick in a hot spare, usezpool reopen
instead.Spurious failures are caused by a race condition: ZED replaces a faulted device with a spare after
zfs_ioc_pool_scan() -> dsl_scan()
has reopened the root vdev (which finds the leaf "faulted" byzinject
) but before the scrub is actually started:dsl_scan_setup_check()
returns EBUSY which results in the following failure:Output of Systemtap tracing:
Motivation and Context
Fix #7247
How Has This Been Tested?
Tested locally on Debian builder, traced code with Systemtap to find the race condition.
Types of changes
Checklist:
Signed-off-by
.