From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 40A9B1FF2AA for ; Wed, 3 Jul 2024 15:16:50 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id F01988B77; Wed, 3 Jul 2024 15:17:07 +0200 (CEST) From: Gabriel Goller To: pbs-devel@lists.proxmox.com Date: Wed, 3 Jul 2024 15:16:30 +0200 Message-ID: <20240703131632.307752-1-g.goller@proxmox.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.056 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 SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pbs-devel] [PATCH proxmox-backup] api: list-snapshots improvements X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox Backup Server development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pbs-devel-bounces@lists.proxmox.com Sender: "pbs-devel" `full_path` did not use the cached time string. By using it we avoid a call to the super-slow libc strftime. Fix a comment typo. `list_snapshots_blocking` doesn't need to be unsafe. The `protected` attribute of a backup has already been checked, avoid retrieving it another time. Signed-off-by: Gabriel Goller --- pbs-datastore/src/backup_info.rs | 4 +++- pbs-datastore/src/datastore.rs | 2 +- src/api2/admin/datastore.rs | 6 +++--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/pbs-datastore/src/backup_info.rs b/pbs-datastore/src/backup_info.rs index bdfaeabc1d12..414ec878d01a 100644 --- a/pbs-datastore/src/backup_info.rs +++ b/pbs-datastore/src/backup_info.rs @@ -415,7 +415,9 @@ impl BackupDir { /// Returns the absolute path for backup_dir, using the cached formatted time string. pub fn full_path(&self) -> PathBuf { - self.store.snapshot_path(&self.ns, &self.dir) + let mut path = self.store.base_path(); + path.push(self.relative_path()); + path } pub fn protected_file(&self) -> PathBuf { diff --git a/pbs-datastore/src/datastore.rs b/pbs-datastore/src/datastore.rs index 5e2208bca40e..11c6c2499ddb 100644 --- a/pbs-datastore/src/datastore.rs +++ b/pbs-datastore/src/datastore.rs @@ -844,7 +844,7 @@ impl DataStore { ListGroupsType::new(Arc::clone(self), ns, ty) } - /// Get a streaming iter over top-level backup groups of a datatstore of a particular type, + /// Get a streaming iter over top-level backup groups of a datastore of a particular type, /// filtered by `Ok` results /// /// The iterated item's result is already unwrapped, if it contained an error it will be diff --git a/src/api2/admin/datastore.rs b/src/api2/admin/datastore.rs index 82221c503d16..9c5ef7185b74 100644 --- a/src/api2/admin/datastore.rs +++ b/src/api2/admin/datastore.rs @@ -451,7 +451,7 @@ pub async fn list_snapshots( ) -> Result, Error> { let auth_id: Authid = rpcenv.get_auth_id().unwrap().parse()?; - tokio::task::spawn_blocking(move || unsafe { + tokio::task::spawn_blocking(move || { list_snapshots_blocking(store, ns, backup_type, backup_id, auth_id) }) .await @@ -459,7 +459,7 @@ pub async fn list_snapshots( } /// This must not run in a main worker thread as it potentially does tons of I/O. -unsafe fn list_snapshots_blocking( +fn list_snapshots_blocking( store: String, ns: Option, backup_type: Option, @@ -505,7 +505,7 @@ unsafe fn list_snapshots_blocking( group: group.into(), time: info.backup_dir.backup_time(), }; - let protected = info.backup_dir.is_protected(); + let protected = info.protected; match get_all_snapshot_files(&info) { Ok((manifest, files)) => { -- 2.43.0 _______________________________________________ pbs-devel mailing list pbs-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel