aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2023-10-17 13:14:55 +0200
committerGitHub <[email protected]>2023-10-17 13:14:55 +0200
commit43eb3563437fdb44c6dd34284a88d91bb75caec6 (patch)
treeb834140ee398f47a8af2b8cbed30d1286553c326 /src
parent0.2.28-pre0 (diff)
downloadzen-43eb3563437fdb44c6dd34284a88d91bb75caec6.tar.xz
zen-43eb3563437fdb44c6dd34284a88d91bb75caec6.zip
don't call compact references if caching is not enabled (#478)
Diffstat (limited to 'src')
-rw-r--r--src/zenserver/cache/cachedisklayer.cpp18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/zenserver/cache/cachedisklayer.cpp b/src/zenserver/cache/cachedisklayer.cpp
index ce5770763..ac7661200 100644
--- a/src/zenserver/cache/cachedisklayer.cpp
+++ b/src/zenserver/cache/cachedisklayer.cpp
@@ -1246,7 +1246,7 @@ ZenCacheDiskLayer::CacheBucket::ScrubStorage(ScrubContext& Ctx)
IndexMap Index;
{
- RwLock::ExclusiveLockScope __(m_IndexLock);
+ RwLock::ExclusiveLockScope IndexLock(m_IndexLock);
size_t EntryCount = m_Index.size();
Payloads.reserve(EntryCount);
AccessTimes.reserve(EntryCount);
@@ -1269,8 +1269,11 @@ ZenCacheDiskLayer::CacheBucket::ScrubStorage(ScrubContext& Ctx)
m_Index.swap(Index);
m_Payloads.swap(Payloads);
m_AccessTimes.swap(AccessTimes);
- m_FirstReferenceIndex.swap(FirstReferenceIndex);
- CompactReferences(__);
+ if (m_EnableReferenceCaching)
+ {
+ m_FirstReferenceIndex.swap(FirstReferenceIndex);
+ CompactReferences(IndexLock);
+ }
}
}
}
@@ -1571,7 +1574,7 @@ ZenCacheDiskLayer::CacheBucket::CollectGarbage(GcContext& GcCtx)
IndexMap Index;
{
- RwLock::ExclusiveLockScope _(m_IndexLock);
+ RwLock::ExclusiveLockScope IndexLock(m_IndexLock);
Stopwatch Timer;
const auto ___ = MakeGuard([&] {
uint64_t ElapsedUs = Timer.GetElapsedTimeUs();
@@ -1601,8 +1604,11 @@ ZenCacheDiskLayer::CacheBucket::CollectGarbage(GcContext& GcCtx)
m_Index.swap(Index);
m_Payloads.swap(Payloads);
m_AccessTimes.swap(AccessTimes);
- m_FirstReferenceIndex.swap(FirstReferenceIndex);
- CompactReferences(_);
+ if (m_EnableReferenceCaching)
+ {
+ m_FirstReferenceIndex.swap(FirstReferenceIndex);
+ CompactReferences(IndexLock);
+ }
}
GcCtx.AddDeletedCids(std::vector<IoHash>(DeletedChunks.begin(), DeletedChunks.end()));
}