diff --git a/pageserver/src/virtual_file.rs b/pageserver/src/virtual_file.rs index d0a91b48ac..c4473af40d 100644 --- a/pageserver/src/virtual_file.rs +++ b/pageserver/src/virtual_file.rs @@ -1100,7 +1100,11 @@ impl OwnedAsyncWriter for VirtualFile { } #[inline(always)] - async fn write_all_borrowed(&mut self, _buf: &[u8], _ctx: &RequestContext) -> std::io::Result { + async fn write_all_borrowed( + &mut self, + _buf: &[u8], + _ctx: &RequestContext, + ) -> std::io::Result { // TODO: ensure this through the type system panic!("this should not happen"); } diff --git a/pageserver/src/virtual_file/owned_buffers_io/util/page_cache_priming_writer.rs b/pageserver/src/virtual_file/owned_buffers_io/util/page_cache_priming_writer.rs index 350838face..fbb6da4c16 100644 --- a/pageserver/src/virtual_file/owned_buffers_io/util/page_cache_priming_writer.rs +++ b/pageserver/src/virtual_file/owned_buffers_io/util/page_cache_priming_writer.rs @@ -85,9 +85,13 @@ where .try_into() .unwrap(); self.cache - .fill_cache(&self.under, self.written / (N as u64), page, ctx) + .fill_cache( + &self.under, + (self.written / (N as u64)) + (page_no_in_buf as u64), + page, + ctx, + ) .await; - self.written += N as u64; } self.written += nwritten as u64; Ok((nwritten, tokio_epoll_uring::Slice::into_inner(buf)))