diff options
| author | Dan Engelbrecht <[email protected]> | 2022-04-02 00:19:41 +0200 |
|---|---|---|
| committer | Dan Engelbrecht <[email protected]> | 2022-04-02 00:19:41 +0200 |
| commit | 8bcd5852dee559b108eae84086f3e6fdccebb790 (patch) | |
| tree | f998ca53417bc5e69b226b1e747ba48b0b377fa8 | |
| parent | don't try to allocate file space for a zero size file (diff) | |
| download | zen-8bcd5852dee559b108eae84086f3e6fdccebb790.tar.xz zen-8bcd5852dee559b108eae84086f3e6fdccebb790.zip | |
fix gc reclaim logic in compactcas
| -rw-r--r-- | zenstore/compactcas.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
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] { |