diff --git a/crates/librqbit/src/file_ops.rs b/crates/librqbit/src/file_ops.rs index 377afe3..0442991 100644 --- a/crates/librqbit/src/file_ops.rs +++ b/crates/librqbit/src/file_ops.rs @@ -208,8 +208,6 @@ impl<'a> FileOps<'a> { format!("error reading {to_read_in_file} bytes, file_id: {file_idx} (\"{name:?}\")") })?; - self.files.on_piece_completed(piece_index)?; - piece_remaining_bytes -= to_read_in_file; if piece_remaining_bytes == 0 { diff --git a/crates/librqbit/src/torrent_state/live/mod.rs b/crates/librqbit/src/torrent_state/live/mod.rs index 79bdf5d..8ed82c6 100644 --- a/crates/librqbit/src/torrent_state/live/mod.rs +++ b/crates/librqbit/src/torrent_state/live/mod.rs @@ -719,6 +719,9 @@ impl TorrentStateLive { } fn on_piece_completed(&self, id: ValidPieceIndex) -> anyhow::Result<()> { + if let Err(e) = self.files.on_piece_completed(id) { + debug!(?id, "file storage errored in on_piece_completed(): {e:#}"); + } let mut g = self.lock_write("on_piece_completed"); let locked = &mut **g; let chunks = locked.get_chunks_mut()?;