From f36658ac105eca8ee598c210c33ae4b264e0fbbe Mon Sep 17 00:00:00 2001 From: Joonas Koivunen Date: Mon, 21 Aug 2023 23:40:09 +0300 Subject: [PATCH] layerdesc: add from_filename --- .../src/tenant/storage_layer/layer_desc.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pageserver/src/tenant/storage_layer/layer_desc.rs b/pageserver/src/tenant/storage_layer/layer_desc.rs index 6d6ab801d8..ce55b3e018 100644 --- a/pageserver/src/tenant/storage_layer/layer_desc.rs +++ b/pageserver/src/tenant/storage_layer/layer_desc.rs @@ -100,6 +100,22 @@ impl PersistentLayerDesc { } } + pub fn from_filename( + tenant_id: TenantId, + timeline_id: TimelineId, + filename: LayerFileName, + file_size: u64, + ) -> Self { + match filename { + LayerFileName::Image(i) => { + Self::new_img(tenant_id, timeline_id, i.key_range, i.lsn, file_size) + } + LayerFileName::Delta(d) => { + Self::new_delta(tenant_id, timeline_id, d.key_range, d.lsn_range, file_size) + } + } + } + /// Get the LSN that the image layer covers. pub fn image_layer_lsn(&self) -> Lsn { assert!(!self.is_delta);