From aa22000e67d2f9e48156dbe041a3da105f2c0a0d Mon Sep 17 00:00:00 2001 From: Christian Schwarz Date: Fri, 1 Sep 2023 17:30:22 +0200 Subject: [PATCH] FileBlockReader is never used (#5181) part of #4743 preliminary to #5180 --- pageserver/ctl/src/layers.rs | 2 +- pageserver/src/tenant/block_io.rs | 28 ++++++------------- .../src/tenant/storage_layer/delta_layer.rs | 2 +- .../src/tenant/storage_layer/image_layer.rs | 2 +- 4 files changed, 11 insertions(+), 23 deletions(-) diff --git a/pageserver/ctl/src/layers.rs b/pageserver/ctl/src/layers.rs index 2af54902f7..608b3cecd6 100644 --- a/pageserver/ctl/src/layers.rs +++ b/pageserver/ctl/src/layers.rs @@ -68,7 +68,7 @@ async fn read_delta_file(path: impl AsRef) -> Result<()> { }, ) .await?; - let cursor = BlockCursor::new_fileblockreader_virtual(&file); + let cursor = BlockCursor::new_fileblockreader(&file); for (k, v) in all { let value = cursor.read_blob(v.pos()).await?; println!("key:{} value_len:{}", k, value.len()); diff --git a/pageserver/src/tenant/block_io.rs b/pageserver/src/tenant/block_io.rs index 69d5b49c6d..93b79d211d 100644 --- a/pageserver/src/tenant/block_io.rs +++ b/pageserver/src/tenant/block_io.rs @@ -7,7 +7,6 @@ use super::storage_layer::delta_layer::{Adapter, DeltaLayerInner}; use crate::page_cache::{self, PageReadGuard, ReadBufResult, PAGE_SZ}; use crate::virtual_file::VirtualFile; use bytes::Bytes; -use std::fs::File; use std::ops::{Deref, DerefMut}; use std::os::unix::fs::FileExt; @@ -73,8 +72,7 @@ impl<'a> Deref for BlockLease<'a> { /// /// Unlike traits, we also support the read function to be async though. pub(crate) enum BlockReaderRef<'a> { - FileBlockReaderVirtual(&'a FileBlockReader), - FileBlockReaderFile(&'a FileBlockReader), + FileBlockReaderVirtual(&'a FileBlockReader), EphemeralFile(&'a EphemeralFile), Adapter(Adapter<&'a DeltaLayerInner>), #[cfg(test)] @@ -87,7 +85,6 @@ impl<'a> BlockReaderRef<'a> { use BlockReaderRef::*; match self { FileBlockReaderVirtual(r) => r.read_blk(blknum).await, - FileBlockReaderFile(r) => r.read_blk(blknum).await, EphemeralFile(r) => r.read_blk(blknum).await, Adapter(r) => r.read_blk(blknum).await, #[cfg(test)] @@ -105,7 +102,7 @@ impl<'a> BlockReaderRef<'a> { /// /// ```no_run /// # use pageserver::tenant::block_io::{BlockReader, FileBlockReader}; -/// # let reader: FileBlockReader = unimplemented!("stub"); +/// # let reader: FileBlockReader = unimplemented!("stub"); /// let cursor = reader.block_cursor(); /// let buf = cursor.read_blk(1); /// // do stuff with 'buf' @@ -122,7 +119,7 @@ impl<'a> BlockCursor<'a> { BlockCursor { reader } } // Needed by cli - pub fn new_fileblockreader_virtual(reader: &'a FileBlockReader) -> Self { + pub fn new_fileblockreader(reader: &'a FileBlockReader) -> Self { BlockCursor { reader: BlockReaderRef::FileBlockReaderVirtual(reader), } @@ -143,18 +140,15 @@ impl<'a> BlockCursor<'a> { /// /// The file is assumed to be immutable. This doesn't provide any functions /// for modifying the file, nor for invalidating the cache if it is modified. -pub struct FileBlockReader { - pub file: F, +pub struct FileBlockReader { + pub file: VirtualFile, /// Unique ID of this file, used as key in the page cache. file_id: page_cache::FileId, } -impl FileBlockReader -where - F: FileExt, -{ - pub fn new(file: F) -> Self { +impl FileBlockReader { + pub fn new(file: VirtualFile) -> Self { let file_id = page_cache::next_file_id(); FileBlockReader { file_id, file } @@ -196,13 +190,7 @@ where } } -impl BlockReader for FileBlockReader { - fn block_cursor(&self) -> BlockCursor<'_> { - BlockCursor::new(BlockReaderRef::FileBlockReaderFile(self)) - } -} - -impl BlockReader for FileBlockReader { +impl BlockReader for FileBlockReader { fn block_cursor(&self) -> BlockCursor<'_> { BlockCursor::new(BlockReaderRef::FileBlockReaderVirtual(self)) } diff --git a/pageserver/src/tenant/storage_layer/delta_layer.rs b/pageserver/src/tenant/storage_layer/delta_layer.rs index d9df346a14..f9a8c52c2f 100644 --- a/pageserver/src/tenant/storage_layer/delta_layer.rs +++ b/pageserver/src/tenant/storage_layer/delta_layer.rs @@ -219,7 +219,7 @@ pub struct DeltaLayerInner { index_root_blk: u32, /// Reader object for reading blocks from the file. - file: FileBlockReader, + file: FileBlockReader, } impl AsRef for DeltaLayerInner { diff --git a/pageserver/src/tenant/storage_layer/image_layer.rs b/pageserver/src/tenant/storage_layer/image_layer.rs index b1fc257092..32f20e6227 100644 --- a/pageserver/src/tenant/storage_layer/image_layer.rs +++ b/pageserver/src/tenant/storage_layer/image_layer.rs @@ -155,7 +155,7 @@ pub struct ImageLayerInner { lsn: Lsn, /// Reader object for reading blocks from the file. - file: FileBlockReader, + file: FileBlockReader, } impl std::fmt::Debug for ImageLayerInner {