diff options
Diffstat (limited to 'zenstore/blockstore.cpp')
| -rw-r--r-- | zenstore/blockstore.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/zenstore/blockstore.cpp b/zenstore/blockstore.cpp index 3358075ec..593ccc529 100644 --- a/zenstore/blockstore.cpp +++ b/zenstore/blockstore.cpp @@ -459,8 +459,8 @@ BlockStore::ReclaimSpace(const ReclaimSnapshotState& Snapshot, continue; } - std::unordered_map<size_t, BlockStoreLocation> MovedChunks; - std::vector<uint8_t> Chunk; + std::vector<std::pair<size_t, BlockStoreLocation>> MovedChunks; + std::vector<uint8_t> Chunk; for (const size_t& ChunkIndex : KeepMap) { const BlockStoreLocation ChunkLocation = ChunkLocations[ChunkIndex]; @@ -541,8 +541,8 @@ BlockStore::ReclaimSpace(const ReclaimSnapshotState& Snapshot, } NewBlockFile->Write(Chunk.data(), Chunk.size(), WriteOffset); - MovedChunks[ChunkIndex] = {.BlockIndex = NewBlockIndex, .Offset = WriteOffset, .Size = Chunk.size()}; - WriteOffset = RoundUp(WriteOffset + Chunk.size(), PayloadAlignment); + MovedChunks.push_back({ChunkIndex, {.BlockIndex = NewBlockIndex, .Offset = WriteOffset, .Size = Chunk.size()}}); + WriteOffset = RoundUp(WriteOffset + Chunk.size(), PayloadAlignment); } Chunk.clear(); if (NewBlockFile) |