Correct reserved blocks to segments

Align units to a segment unit when adjusting free segment number.

Test: run the smart idle maint service.
Change-Id: I4fd74ac92adc4ae1a0ded4a7df75a690d829eb20
Signed-off-by: Daeho Jeong <daehojeong@google.com>
This commit is contained in:
Daeho Jeong 2023-08-31 12:50:09 -07:00
parent f05039392c
commit b868a88c1a

View file

@ -551,9 +551,9 @@ void SetGCUrgentPace(int32_t neededSegments, int32_t minSegmentThreshold, float
int32_t freeSegments = std::stoi(freeSegmentsStr); int32_t freeSegments = std::stoi(freeSegmentsStr);
int32_t dirtySegments = std::stoi(dirtySegmentsStr); int32_t dirtySegments = std::stoi(dirtySegmentsStr);
int32_t reservedBlocks = std::stoi(ovpSegmentsStr) + std::stoi(reservedBlocksStr); int32_t reservedSegments = std::stoi(ovpSegmentsStr) + std::stoi(reservedBlocksStr) / 512;
freeSegments = freeSegments > reservedBlocks ? freeSegments - reservedBlocks : 0; freeSegments = freeSegments > reservedSegments ? freeSegments - reservedSegments : 0;
int32_t totalSegments = freeSegments + dirtySegments; int32_t totalSegments = freeSegments + dirtySegments;
int32_t finalTargetSegments = 0; int32_t finalTargetSegments = 0;