diff options
author | Alex Auvolat <alex@adnab.me> | 2022-12-14 12:51:16 +0100 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2022-12-14 12:51:42 +0100 |
commit | d56c472712df7c064387429a5af73d3bc0eb438d (patch) | |
tree | d3d73490ae3167a228ee91f69a583242c572cd9f /src/block/manager.rs | |
parent | 2183518edccadef47cdeaf6476033b52d8832d6e (diff) | |
download | garage-d56c472712df7c064387429a5af73d3bc0eb438d.tar.gz garage-d56c472712df7c064387429a5af73d3bc0eb438d.zip |
Refactor background runner and get rid of job worker
Diffstat (limited to 'src/block/manager.rs')
-rw-r--r-- | src/block/manager.rs | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/block/manager.rs b/src/block/manager.rs index ffb9de9a..1b5a5df0 100644 --- a/src/block/manager.rs +++ b/src/block/manager.rs @@ -23,6 +23,7 @@ use garage_rpc::rpc_helper::netapp::stream::{stream_asyncread, ByteStream}; use garage_db as db; +use garage_util::background::BackgroundRunner; use garage_util::data::*; use garage_util::error::*; use garage_util::metrics::RecordDuration; @@ -144,19 +145,17 @@ impl BlockManager { block_manager } - pub fn spawn_workers(self: &Arc<Self>) { + pub fn spawn_workers(self: &Arc<Self>, bg: &BackgroundRunner) { // Spawn a bunch of resync workers for index in 0..MAX_RESYNC_WORKERS { let worker = ResyncWorker::new(index, self.clone()); - self.system.background.spawn_worker(worker); + bg.spawn_worker(worker); } // Spawn scrub worker let (scrub_tx, scrub_rx) = mpsc::channel(1); self.tx_scrub_command.store(Some(Arc::new(scrub_tx))); - self.system - .background - .spawn_worker(ScrubWorker::new(self.clone(), scrub_rx)); + bg.spawn_worker(ScrubWorker::new(self.clone(), scrub_rx)); } /// Ask nodes that might have a (possibly compressed) block for it |