diff --git a/pageserver/src/virtual_file/io_engine/tokio_epoll_uring_ext.rs b/pageserver/src/virtual_file/io_engine/tokio_epoll_uring_ext.rs index e1b8095b82..2167dde82f 100644 --- a/pageserver/src/virtual_file/io_engine/tokio_epoll_uring_ext.rs +++ b/pageserver/src/virtual_file/io_engine/tokio_epoll_uring_ext.rs @@ -206,9 +206,8 @@ impl Handle { len: u64, ) -> (F, Result<(), tokio_epoll_uring::Error>) { - let std_file = std::fs::File::from(file.as_fd()); - let res = std_file.set_len(len); + let res = file.with_std_file(|std_file| std_file.set_len(len)); - (file, res.map_err(tokio_epoll_uring::Error::from)) + (file, res.map_err(tokio_epoll_uring::Error::System)) } }