Cleanup ZIO_FLAG_IO_RETRY vs TRYHARD usage #17877
Open
+14
−27
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.
In cases where all issued ZIOs must succeed, and we can't do anything clever about the errors, we should just explicitly set
ZIO_FLAG_TRYHARDand let OS to do all the reasonable retries.In other cases, where retries can be different from the original, for example, some ZIOs are allowed to fail due to redundancy, or we can disable aggregation on retrial to get at least some of the data, we can do first pass without
TRYHARD, and only if needed retry withZIO_FLAG_IO_RETRY(which impliesTRYHARDsemantics).Types of changes
Checklist:
Signed-off-by.