diff options
| author | Dan Engelbrecht <[email protected]> | 2022-05-02 11:01:12 +0200 |
|---|---|---|
| committer | Dan Engelbrecht <[email protected]> | 2022-05-02 11:01:12 +0200 |
| commit | 80a39f97f465465466ccd2d5914421db55efb80e (patch) | |
| tree | 891a826b28a17c908ef29ffb45109dfccf27c561 /zenstore/blockstore.cpp | |
| parent | use std::vector<std::pair>> instead of map (diff) | |
| download | zen-80a39f97f465465466ccd2d5914421db55efb80e.tar.xz zen-80a39f97f465465466ccd2d5914421db55efb80e.zip | |
add back gc space reclaim call
Diffstat (limited to 'zenstore/blockstore.cpp')
| -rw-r--r-- | zenstore/blockstore.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/zenstore/blockstore.cpp b/zenstore/blockstore.cpp index 593ccc529..b3608687b 100644 --- a/zenstore/blockstore.cpp +++ b/zenstore/blockstore.cpp @@ -279,7 +279,8 @@ BlockStore::ReclaimSpace(const ReclaimSnapshotState& Snapshot, const std::vector<size_t>& KeepChunkIndexes, uint64_t PayloadAlignment, bool DryRun, - const ReclaimCallback& Callback) + const ReclaimCallback& ChangeCallback, + const ClaimGCReserveCallback& GcReserveCallback) { if (ChunkLocations.empty()) { @@ -437,7 +438,7 @@ BlockStore::ReclaimSpace(const ReclaimSnapshotState& Snapshot, { DeletedSize += ChunkLocations[DeleteIndex].Size; } - Callback({}, DeleteMap); + ChangeCallback({}, DeleteMap); DeletedCount += DeleteMap.size(); { RwLock::ExclusiveLockScope _i(m_InsertLock); @@ -477,7 +478,7 @@ BlockStore::ReclaimSpace(const ReclaimSnapshotState& Snapshot, NewBlockFile->Flush(); } { - Callback(MovedChunks, {}); + ChangeCallback(MovedChunks, {}); MovedCount += KeepMap.size(); MovedChunks.clear(); RwLock::ExclusiveLockScope __(m_InsertLock); @@ -512,7 +513,7 @@ BlockStore::ReclaimSpace(const ReclaimSnapshotState& Snapshot, } if (Space.Free < m_MaxBlockSize) { - uint64_t ReclaimedSpace = 0; // GcCtx.ClaimGCReserve(); + uint64_t ReclaimedSpace = GcReserveCallback(); if (Space.Free + ReclaimedSpace < m_MaxBlockSize) { ZEN_WARN("garbage collect for '{}' FAILED, required disk space {}, free {}", @@ -558,7 +559,7 @@ BlockStore::ReclaimSpace(const ReclaimSnapshotState& Snapshot, DeletedSize += ChunkLocations[DeleteIndex].Size; } - Callback(MovedChunks, DeleteMap); + ChangeCallback(MovedChunks, DeleteMap); MovedCount += KeepMap.size(); DeletedCount += DeleteMap.size(); MovedChunks.clear(); |