From e8226c0e4b10992a4cdd447fc971ebea4b9a8ff9 Mon Sep 17 00:00:00 2001 From: Jussi Saurio Date: Tue, 21 Oct 2025 11:24:59 +0300 Subject: [PATCH] Pager: add clear_savepoint() method --- core/storage/pager.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/core/storage/pager.rs b/core/storage/pager.rs index 58255b61f..697a32d9b 100644 --- a/core/storage/pager.rs +++ b/core/storage/pager.rs @@ -709,6 +709,18 @@ impl Pager { Ok(()) } + pub fn clear_savepoints(&self) -> Result<()> { + *self.savepoints.write() = Vec::new(); + let subjournal = self.subjournal.read(); + let Some(subjournal) = subjournal.as_ref() else { + return Ok(()); + }; + let c = subjournal.truncate(0)?; + assert!(c.succeeded(), "memory IO should complete immediately"); + Ok(()) + } + } + #[cfg(feature = "test_helper")] pub fn get_pending_byte() -> u32 { PENDING_BYTE.load(Ordering::Relaxed)