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 8AB391FF15E for ; Mon, 10 Nov 2025 12:56:17 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 2F52F141EE; Mon, 10 Nov 2025 12:56:56 +0100 (CET) From: Christian Ebner To: pbs-devel@lists.proxmox.com Date: Mon, 10 Nov 2025 12:56:27 +0100 Message-ID: <20251110115627.280318-15-c.ebner@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251110115627.280318-1-c.ebner@proxmox.com> References: <20251110115627.280318-1-c.ebner@proxmox.com> MIME-Version: 1.0 X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1762775787416 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.048 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 v4 14/14] chunk store: never fail when trying to remove missing chunk file 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" Although this is an unexpected case, never fail if the chunk store marker is not there during removal from cache in phase 2 of garbage collection for datastores with s3 backend (that codepath needs no further adaption). The chunk file might be missing for other reasons, e.g. after manual intervention in offline maintenance mode. Signed-off-by: Christian Ebner --- pbs-datastore/src/chunk_store.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pbs-datastore/src/chunk_store.rs b/pbs-datastore/src/chunk_store.rs index 273b17d5f..efc950fcc 100644 --- a/pbs-datastore/src/chunk_store.rs +++ b/pbs-datastore/src/chunk_store.rs @@ -712,7 +712,12 @@ impl ChunkStore { pub(crate) fn remove_chunk(&self, digest: &[u8; 32]) -> Result<(), Error> { let (chunk_path, _digest_str) = self.chunk_path(digest); let _lock = self.mutex.lock(); - std::fs::remove_file(chunk_path).map_err(Error::from) + if let Err(err) = std::fs::remove_file(chunk_path) { + if err.kind() != std::io::ErrorKind::NotFound { + return Err(err.into()); + } + } + Ok(()) } pub fn relative_path(&self, path: &Path) -> PathBuf { -- 2.47.3 _______________________________________________ pbs-devel mailing list pbs-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel