From 076901273f1bbd9c9a65fb5230d7d32ec829c495 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 | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pageserver/src/tenant/storage_layer/layer_desc.rs b/pageserver/src/tenant/storage_layer/layer_desc.rs index 59ca0f33e0..58d883753f 100644 --- a/pageserver/src/tenant/storage_layer/layer_desc.rs +++ b/pageserver/src/tenant/storage_layer/layer_desc.rs @@ -101,6 +101,23 @@ impl PersistentLayerDesc { } } + pub fn from_filename( + tenant_id: TenantId, + timeline_id: TimelineId, + filename: LayerFileName, + file_size: u64, + ) -> Self { + match filename { + LayerFileName::Image(i) => { + // FIXME: can we incremental image layers or is this for future use? + 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);