From 1080cbdf12960f6c89b210000b258f974d737274 Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Wed, 27 Nov 2019 01:20:09 +0300 Subject: [PATCH] Fix used journal sector tracking again --- blockstore_stable.cpp | 2 +- blockstore_sync.cpp | 3 ++- blockstore_write.cpp | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/blockstore_stable.cpp b/blockstore_stable.cpp index de770c8f..2c45e079 100644 --- a/blockstore_stable.cpp +++ b/blockstore_stable.cpp @@ -131,7 +131,7 @@ void blockstore::handle_stable_event(ring_data_t *data, blockstore_operation *op journal.sector_info[s-1].usage_count--; if (s == op->max_used_journal_sector) break; - s = (s + 1) % journal.sector_count; + s = 1 + s % journal.sector_count; } op->min_used_journal_sector = op->max_used_journal_sector = 0; } diff --git a/blockstore_sync.cpp b/blockstore_sync.cpp index 7cc7d0f0..2cc87c3f 100644 --- a/blockstore_sync.cpp +++ b/blockstore_sync.cpp @@ -39,6 +39,7 @@ int blockstore::dequeue_sync(blockstore_operation *op) int blockstore::continue_sync(blockstore_operation *op) { auto cb = [this, op](ring_data_t *data) { handle_sync_event(data, op); }; + op->min_used_journal_sector = op->max_used_journal_sector = 0; if (op->sync_state == SYNC_HAS_SMALL) { // No big writes, just fsync the journal @@ -135,7 +136,7 @@ void blockstore::handle_sync_event(ring_data_t *data, blockstore_operation *op) journal.sector_info[s-1].usage_count--; if (s == op->max_used_journal_sector) break; - s = (s + 1) % journal.sector_count; + s = 1 + s % journal.sector_count; } op->min_used_journal_sector = op->max_used_journal_sector = 0; } diff --git a/blockstore_write.cpp b/blockstore_write.cpp index 685bb02d..48c1c454 100644 --- a/blockstore_write.cpp +++ b/blockstore_write.cpp @@ -179,7 +179,7 @@ void blockstore::handle_write_event(ring_data_t *data, blockstore_operation *op) journal.sector_info[s-1].usage_count--; if (s == op->max_used_journal_sector) break; - s = (s + 1) % journal.sector_count; + s = 1 + s % journal.sector_count; } op->min_used_journal_sector = op->max_used_journal_sector = 0; }