diff --git a/pageserver/src/tenant/ephemeral_file.rs b/pageserver/src/tenant/ephemeral_file.rs index 8c13136c51..e48b9e83bd 100644 --- a/pageserver/src/tenant/ephemeral_file.rs +++ b/pageserver/src/tenant/ephemeral_file.rs @@ -5,7 +5,7 @@ use crate::config::PageServerConf; use crate::context::RequestContext; use crate::page_cache::{self, PAGE_SZ}; use crate::tenant::block_io::{BlockCursor, BlockLease, BlockReader}; -use crate::virtual_file::{self, io_engine, VirtualFile}; +use crate::virtual_file::{self, VirtualFile}; use bytes::BytesMut; use camino::Utf8PathBuf; use pageserver_api::shard::TenantShardId; @@ -160,7 +160,7 @@ impl EphemeralFile { let (mutable_tail, res) = self .ephemeral_file .file - .write_all_at(mutable_tail, self.blknum as u64 * PAGE_SZ as u64, io_engine::IoEngine::StdFs) + .write_all_at(mutable_tail, self.blknum as u64 * PAGE_SZ as u64) .await; // TODO: If we panic before we can put the mutable_tail back, subsequent calls will fail. // I.e., the IO isn't retryable if we panic. diff --git a/pageserver/src/virtual_file.rs b/pageserver/src/virtual_file.rs index 849e0b6b17..6d4774cf75 100644 --- a/pageserver/src/virtual_file.rs +++ b/pageserver/src/virtual_file.rs @@ -34,8 +34,6 @@ pub(crate) use io_engine::IoEngineKind; pub(crate) use metadata::Metadata; pub(crate) use open_options::*; -use self::io_engine::IoEngine; - /// /// A virtual file descriptor. You can use this just like std::fs::File, but internally /// the underlying file is closed if the system is low on file descriptors, @@ -598,7 +596,6 @@ impl VirtualFile { &self, buf: B, mut offset: u64, - engine: IoEngine, ) -> (B::Buf, Result<(), Error>) { let buf_len = buf.bytes_init(); if buf_len == 0 { @@ -607,7 +604,7 @@ impl VirtualFile { let mut buf = buf.slice(0..buf_len); while !buf.is_empty() { let res; - (buf, res) = self.write_at(buf, offset, engine).await; + (buf, res) = self.write_at(buf, offset).await; match res { Ok(0) => { return ( @@ -670,7 +667,7 @@ impl VirtualFile { buf: Slice, ) -> (Slice, Result) { let pos = self.pos; - let (buf, res) = self.write_at(buf, pos, io_engine::get()).await; + let (buf, res) = self.write_at(buf, pos).await; let n = match res { Ok(n) => n, Err(e) => return (buf, Err(e)), @@ -708,14 +705,14 @@ impl VirtualFile { &self, buf: Slice, offset: u64, - engine: IoEngine, ) -> (Slice, Result) { let file_guard = match self.lock_file().await { Ok(file_guard) => file_guard, Err(e) => return (buf, Err(e)), }; observe_duration!(StorageIoOperation::Write, { - let ((_file_guard, buf), result) = engine.write_at(file_guard, offset, buf).await; + let ((_file_guard, buf), result) = + io_engine::get().write_at(file_guard, offset, buf).await; if let Ok(size) = result { STORAGE_IO_SIZE .with_label_values(&[ @@ -1153,7 +1150,7 @@ mod tests { ) -> Result<(), Error> { match self { MaybeVirtualFile::VirtualFile(file) => { - let (_buf, res) = file.write_all_at(buf, offset, io_engine::get()).await; + let (_buf, res) = file.write_all_at(buf, offset).await; res } MaybeVirtualFile::File(file) => {