From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [45.144.208.40]) by lore.proxmox.com (Postfix) with ESMTPS id F07361FF0E0 for ; Thu, 09 Jul 2026 14:21:42 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id B08022150D; Thu, 09 Jul 2026 14:21:41 +0200 (CEST) From: Jakob Klocker To: pbs-devel@lists.proxmox.com Subject: [PATCH proxmox-backup 0/2] fix #6990: server: drop verify state on push & pull job Date: Thu, 9 Jul 2026 14:21:33 +0200 Message-ID: <20260709122136.352839-1-j.klocker@proxmox.com> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 2 AWL -0.363 Adjusted score from AWL reputation of From: address DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment (newer systems) KAM_LAZY_DOMAIN_SECURITY 1 Sending domain does not have any anti-forgery methods RDNS_NONE 1.274 Delivered to internal network by a host with no rDNS SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_NONE 0.001 SPF: sender does not publish an SPF Record Message-ID-Hash: 2LZTGYZO2WLRLBZ75GLASLNE2K3XDS2V X-Message-ID-Hash: 2LZTGYZO2WLRLBZ75GLASLNE2K3XDS2V X-MailFrom: jklocker@iris.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 CC: Jakob Klocker 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: When syncing a snapshot to another datastore, the source's verify_state is currently carried over to the target. This reports the target snapshot as verified even though its stored copy was never checked there. Since verify jobs skip snapshots that already carry a verify_state, the target's copy can't be verified again. Chunks are checksummed in memory while being transferred, but a verify serves a different purpose: confirming the write to the (external) target actually succeeded. This series drops verify_state on sync so the target is verified independently. The state is dropped by default. Tested (verify_state correctly stripped on target): * Pull, verified source, new content, clean sync * Pull, verified source, existing content, clean sync * Pull, corrupted target, resync-corrupt * Push, verified source (has no corrupt path) * Pull, independently-verified target, clean re-sync - state preserved Link: https://bugzilla.proxmox.com/show_bug.cgi?id=6990 proxmox-backup: Jakob Klocker (2): fix #6990: server: drop verify state on non-decrypt pull job fix #6990: server: drop verify state on push job src/server/pull.rs | 42 ++++++++++++++++++++++++++++-------------- src/server/push.rs | 6 ++++++ 2 files changed, 34 insertions(+), 14 deletions(-) Summary over all repositories: 2 files changed, 34 insertions(+), 14 deletions(-) -- Generated by murpp 0.12.0