diff --git a/core/storage/pager.rs b/core/storage/pager.rs index 6dec78000..c8926c147 100644 --- a/core/storage/pager.rs +++ b/core/storage/pager.rs @@ -336,6 +336,7 @@ pub struct Pager { flush_info: RefCell, checkpoint_state: RefCell, + checkpoint_inflight: Rc>, syncing: Rc>, } @@ -370,6 +371,7 @@ impl Pager { }), syncing: Rc::new(RefCell::new(false)), checkpoint_state: RefCell::new(CheckpointState::Checkpoint), + checkpoint_inflight: Rc::new(RefCell::new(0)), }) } @@ -556,7 +558,7 @@ impl Pager { log::trace!("checkpoint(state={:?})", state); match state { CheckpointState::Checkpoint => { - let in_flight = self.flush_info.borrow().in_flight_writes.clone(); + let in_flight = self.checkpoint_inflight.clone(); match self.wal.borrow_mut().checkpoint(self, in_flight)? { CheckpointStatus::IO => return Ok(CheckpointStatus::IO), CheckpointStatus::Done => { @@ -566,7 +568,7 @@ impl Pager { }; } CheckpointState::CheckpointDone => { - let in_flight = self.flush_info.borrow().in_flight_writes.clone(); + let in_flight = self.checkpoint_inflight.clone(); if *in_flight.borrow() > 0 { return Ok(CheckpointStatus::IO); } else { diff --git a/core/storage/sqlite3_ondisk.rs b/core/storage/sqlite3_ondisk.rs index 46be15b57..a581b84bc 100644 --- a/core/storage/sqlite3_ondisk.rs +++ b/core/storage/sqlite3_ondisk.rs @@ -550,8 +550,8 @@ pub fn begin_write_btree_page( *write_counter.borrow_mut() += 1; let write_complete = { let buf_copy = buffer.clone(); - log::trace!("finish_write_btree_page"); Box::new(move |bytes_written: i32| { + log::trace!("finish_write_btree_page"); let buf_copy = buf_copy.clone(); let buf_len = buf_copy.borrow().len(); *write_counter.borrow_mut() -= 1;