forked from openzfs/zfs
-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
DOSE-714 DataObject::get_block() fails unwrap due to agent restart/re…
…sume issue (openzfs#498) When we replay zio's, we reissue both reads and writes. The agent collects all the writes and then merges them together with the "recovered objects", which are part of the currently-syncing txg. However, the reads are processed immediately, as they are received. If one of these reads is for a block that is in a "recovered object", we don't realize this, and instead attempt to read from the last known object in the pool (i.e. the last object that was written as part of the last synced txg). Since the block is not in that object, this unwrap fails. The solution is to not process the reads until the "recovered objects" have been processed.
- Loading branch information
Showing
3 changed files
with
37 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters