From 501299a4eef58eb4c12fb8368bfab26fba57c539 Mon Sep 17 00:00:00 2001 From: Joe Thornber Date: Wed, 8 Apr 2020 12:19:55 +0100 Subject: [PATCH] [cache_*] array ref_counter wasn't overloaded correctly. Major bug, explains some space map issues I've seen when restoring cache metadata. --- persistent-data/data-structures/array.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/persistent-data/data-structures/array.h b/persistent-data/data-structures/array.h index 1638a43..ba19408 100644 --- a/persistent-data/data-structures/array.h +++ b/persistent-data/data-structures/array.h @@ -112,17 +112,17 @@ namespace persistent_data { a_(a) { } - virtual void set(uint64_t b, uint32_t rc) { + virtual void set(uint64_t const &b, uint32_t rc) { sm_->set_count(b, rc); if (rc == 0) dec_values(b); } - virtual void inc(uint64_t b) { + virtual void inc(uint64_t const &b) { sm_->inc(b); } - virtual void dec(uint64_t b) { + virtual void dec(uint64_t const &b) { sm_->dec(b); if (sm_->get_count(b) == 0) dec_values(b);