mirror of
https://github.com/kvcache-ai/AgentENV.git
synced 2026-11-05 01:17:36 +00:00
[PR #255] [MERGED] Fix Hybrid upper growth during discard/rewrite cycles #296
Labels
No labels
bug
documentation
enhancement
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
kvcache-ai/AgentENV#296
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/kvcache-ai/AgentENV/pull/255
Author: @huang-jl
Created: 9/7/2026
Status: ✅ Merged
Merged: 9/10/2026
Merged by: @yingdi-shan
Base:
main← Head:hjl/overlaybd-write-after-discard📝 Commits (2)
3259815refactor(lsmt): distinguish backed zero mappingsa086936fix(lsmt): reuse hybrid extents after discard📊 Changes
6 files changed (+999 additions, -85 deletions)
View changed files
📝
storage/overlaybd/src/lsmt/file/helper.rs(+65 -4)📝
storage/overlaybd/src/lsmt/file/readwrite.rs(+123 -28)📝
storage/overlaybd/src/lsmt/file/tests.rs(+633 -27)📝
storage/overlaybd/src/lsmt/file/types.rs(+8 -0)📝
storage/overlaybd/src/lsmt/format.rs(+18 -0)📝
storage/overlaybd/src/lsmt/index.rs(+152 -26)📄 Description
What
Preserve physical allocations across Hybrid discards so subsequent writes can reuse existing space, while keeping discard index-only.
Why
Previously, discard replaced a data mapping with a zero mapping without retaining its physical address. Rewriting that range then appended new data, leaving the previous allocation unreachable.
Repeated discard/rewrite cycles could therefore grow upper.data beyond the virtual disk size.
Scope and non-goals
Only update the behavior of hybrid read write (upper).
Design and behavior changes
Compatibility and operations
Validation
make fmtmake clippymake test-unitmake -C services test(required whenservices/changes)maketarget🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.