diff options
author | Alex <alex@adnab.me> | 2024-03-19 15:59:19 +0000 |
---|---|---|
committer | Alex <alex@adnab.me> | 2024-03-19 15:59:19 +0000 |
commit | 65853a48634d662809eee5dafbe48535d400f4a0 (patch) | |
tree | 3bb01998fa81651a54ade8bf17ba87b5a3eff970 /src/model/garage.rs | |
parent | 0038ca8a78f147b9c0ec07ef0121773aaf110dc9 (diff) | |
parent | 3eab639c146f67fc67534633ae26c9aec116327d (diff) | |
download | garage-65853a48634d662809eee5dafbe48535d400f4a0.tar.gz garage-65853a48634d662809eee5dafbe48535d400f4a0.zip |
Merge pull request 'block refcount repair' (#782) from block-ref-repair into next-0.10
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/782
Diffstat (limited to 'src/model/garage.rs')
-rw-r--r-- | src/model/garage.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/model/garage.rs b/src/model/garage.rs index 4405d22d..273690db 100644 --- a/src/model/garage.rs +++ b/src/model/garage.rs @@ -247,6 +247,14 @@ impl Garage { #[cfg(feature = "k2v")] let k2v = GarageK2V::new(system.clone(), &db, meta_rep_param); + // ---- setup block refcount recalculation ---- + // this function can be used to fix inconsistencies in the RC table + block_manager.set_recalc_rc(vec![ + block_ref_recount_fn(&block_ref_table), + // other functions could be added here if we had other tables + // that hold references to data blocks + ]); + // -- done -- Ok(Arc::new(Self { config, |