-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(LustreHSM): Move ready_pull I/O out of main thread (#187)
This is the second part of the fix for #183 which fixes how the `ready_pull` function works. All I/O for `ready_pull` is now in a task and out of the main thread. In the previous PR I added some slap-dash "race condition insurance" which I've removed here and replaced with a more robust system to restore-and-wait for a file which provides a way to track files already being waited on for restore. (Which was otherwise impossible to do because yielded tasks are essentially hidden from the system while they're deferred.) Now `check`s and `ready_pull`s won't be re-queued if they're already waiting for a file to be restored. Closes #183
- Loading branch information
1 parent
dac1d4f
commit 4670ec2
Showing
2 changed files
with
191 additions
and
51 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