From 8bcd5852dee559b108eae84086f3e6fdccebb790 Mon Sep 17 00:00:00 2001 From: Dan Engelbrecht Date: Sat, 2 Apr 2022 00:19:41 +0200 Subject: fix gc reclaim logic in compactcas --- zenstore/compactcas.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'zenstore/compactcas.cpp') diff --git a/zenstore/compactcas.cpp b/zenstore/compactcas.cpp index c266d4994..3ce2c2260 100644 --- a/zenstore/compactcas.cpp +++ b/zenstore/compactcas.cpp @@ -1218,12 +1218,12 @@ CasContainerStrategy::CollectGarbage(GcContext& GcCtx) if (Space.Free < m_MaxBlockSize) { uint64_t ReclaimedSpace = GcCtx.ClaimGCReserve(); - if (ReclaimedSpace == 0) + if (Space.Free + ReclaimedSpace < m_MaxBlockSize) { ZEN_INFO("garbage collect for '{}' FAILED, required disk space {}, free {}", m_Config.RootDirectory / m_ContainerBaseName, m_MaxBlockSize, - NiceBytes(Space.Free)); + NiceBytes(Space.Free + ReclaimedSpace)); RwLock::ExclusiveLockScope _l(m_LocationMapLock); Stopwatch Timer; const auto __ = MakeGuard([&Timer, &ReadBlockTimeUs, &ReadBlockLongestTimeUs] { -- cgit v1.2.3