aboutsummaryrefslogtreecommitdiff
path: root/src/garage/repair/online.rs
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2023-09-07 13:44:11 +0200
committerAlex Auvolat <alex@adnab.me>2023-09-07 13:44:11 +0200
commit6b008b5bd3843bb236f94a1b4472de11f5755f04 (patch)
treef9d2afe0e7a21b07bfa0f0e94a607a695f516e65 /src/garage/repair/online.rs
parent6595efd82fc849c97b964969b6ff935738e7d24a (diff)
downloadgarage-6b008b5bd3843bb236f94a1b4472de11f5755f04.tar.gz
garage-6b008b5bd3843bb236f94a1b4472de11f5755f04.zip
block manager: add rebalance operation to rebalance multi-hdd setups
Diffstat (limited to 'src/garage/repair/online.rs')
-rw-r--r--src/garage/repair/online.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/garage/repair/online.rs b/src/garage/repair/online.rs
index abfaf9f9..9e4de873 100644
--- a/src/garage/repair/online.rs
+++ b/src/garage/repair/online.rs
@@ -70,6 +70,12 @@ pub async fn launch_online_repair(
info!("Sending command to scrub worker: {:?}", cmd);
garage.block_manager.send_scrub_command(cmd).await?;
}
+ RepairWhat::Rebalance => {
+ info!("Rebalancing the stored blocks among storage locations");
+ bg.spawn_worker(garage_block::repair::RebalanceWorker::new(
+ garage.block_manager.clone(),
+ ));
+ }
}
Ok(())
}