diff options
author | Alex Auvolat <alex@adnab.me> | 2022-12-14 15:25:29 +0100 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2022-12-14 15:25:29 +0100 |
commit | dfc131850a09e7ceacfa98315adbef156e07e9ca (patch) | |
tree | b9684958e211e0dd0389c12a166c9d1af5e8b5f9 /src/block | |
parent | d4af27f920ce48a60f2073e98b17bdf963241686 (diff) | |
download | garage-dfc131850a09e7ceacfa98315adbef156e07e9ca.tar.gz garage-dfc131850a09e7ceacfa98315adbef156e07e9ca.zip |
Simplified and more aggressive worker exit logic
Diffstat (limited to 'src/block')
-rw-r--r-- | src/block/repair.rs | 4 | ||||
-rw-r--r-- | src/block/resync.rs | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/block/repair.rs b/src/block/repair.rs index 1878027e..f5515d4e 100644 --- a/src/block/repair.rs +++ b/src/block/repair.rs @@ -148,7 +148,7 @@ impl Worker for RepairWorker { } } - async fn wait_for_work(&mut self, _must_exit: &watch::Receiver<bool>) -> WorkerState { + async fn wait_for_work(&mut self) -> WorkerState { unreachable!() } } @@ -341,7 +341,7 @@ impl Worker for ScrubWorker { } } - async fn wait_for_work(&mut self, _must_exit: &watch::Receiver<bool>) -> WorkerState { + async fn wait_for_work(&mut self) -> WorkerState { let (wait_until, command) = match &self.work { ScrubWorkerState::Running(_) => return WorkerState::Busy, ScrubWorkerState::Paused(_, resume_time) => (*resume_time, ScrubWorkerCommand::Resume), diff --git a/src/block/resync.rs b/src/block/resync.rs index 8231b55d..51bb9846 100644 --- a/src/block/resync.rs +++ b/src/block/resync.rs @@ -540,7 +540,7 @@ impl Worker for ResyncWorker { } } - async fn wait_for_work(&mut self, _must_exit: &watch::Receiver<bool>) -> WorkerState { + async fn wait_for_work(&mut self) -> WorkerState { while self.index >= self.manager.resync.persisted.load().n_workers { self.manager.resync.notify.notified().await } |