From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 40B491FF13B for ; Wed, 11 Mar 2026 13:05:53 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id ED3F718C35; Wed, 11 Mar 2026 13:05:46 +0100 (CET) From: Christian Ebner To: pbs-devel@lists.proxmox.com Subject: [PATCH proxmox-backup v2 1/3] datastore: introduce helper to get store's backend type Date: Wed, 11 Mar 2026 13:04:59 +0100 Message-ID: <20260311120501.536269-3-c.ebner@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260311120501.536269-1-c.ebner@proxmox.com> References: <20260311120501.536269-1-c.ebner@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1773230677738 X-SPAM-LEVEL: Spam detection results: 0 AWL -1.008 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.408 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.819 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.903 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: 4662FNDLJPEUSIPQBS27W5S6N4XW6DJV X-Message-ID-Hash: 4662FNDLJPEUSIPQBS27W5S6N4XW6DJV X-MailFrom: c.ebner@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox Backup Server development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: In contrast to the pre-existing backend() helper, this newly introduced backend_type() helper allows to determine a datastores backend without already instantiating the s3 client in case the backend is s3. This will allow to fetch the backend type for the datastore's status api without having to re-lookup the config. Signed-off-by: Christian Ebner --- pbs-datastore/src/datastore.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pbs-datastore/src/datastore.rs b/pbs-datastore/src/datastore.rs index af883c467..15a34f376 100644 --- a/pbs-datastore/src/datastore.rs +++ b/pbs-datastore/src/datastore.rs @@ -403,7 +403,7 @@ impl DataStore { /// Get the backend for this datastore based on it's configuration pub fn backend(&self) -> Result { - let backend_type = match self.inner.backend_config.ty.unwrap_or_default() { + let backend = match self.backend_type() { DatastoreBackendType::Filesystem => DatastoreBackend::Filesystem, DatastoreBackendType::S3 => { let s3_client_id = self @@ -439,7 +439,11 @@ impl DataStore { } }; - Ok(backend_type) + Ok(backend) + } + + pub fn backend_type(&self) -> DatastoreBackendType { + self.inner.backend_config.ty.unwrap_or_default() } pub fn cache(&self) -> Option<&LocalDatastoreLruCache> { -- 2.47.3