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 5E8F31FF13B for ; Wed, 03 Jun 2026 10:17:13 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id A3DBA1891; Wed, 3 Jun 2026 10:17:12 +0200 (CEST) Message-ID: <966c6d59-6ea3-459e-98ec-01dbb615d695@proxmox.com> Date: Wed, 3 Jun 2026 10:17:07 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH proxmox-backup] fix #7024: pxar: show archive summary for legacy and data mode To: Shan Shaji , pbs-devel@lists.proxmox.com References: <20260602131407.326889-1-s.shaji@proxmox.com> Content-Language: en-US, de-DE From: Christian Ebner In-Reply-To: <20260602131407.326889-1-s.shaji@proxmox.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1780474591600 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.069 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 Message-ID-Hash: QBRHUAUIGY7Z4DRQCQKZH2YA64TGVFTS X-Message-ID-Hash: QBRHUAUIGY7Z4DRQCQKZH2YA64TGVFTS 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: Hi, thanks for the patch, the fix tag is however not justified for this single patch IMHO. It only covers the first part of the enhancements requested in the bugzilla issue. On 6/2/26 3:14 PM, Shan Shaji wrote: > earlier, the archiver summary was only being shown when the change > detection mode is metadata. To improve this, log the total number of > files and the amount of data re-encoded for legacy and data modes > as well. > > Signed-off-by: Shan Shaji > --- > > **note**: will send follow up patches for the verbose option and logs > improvement. If possible, please send them together with this as patch series. It would be beneficial for review to get the full picture of changes already, e.g. with respect to variable and struct naming. If there are still open questions which need to be discussed, feel free to send the patches as RFC series. > > pbs-client/src/pxar/create.rs | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/pbs-client/src/pxar/create.rs b/pbs-client/src/pxar/create.rs > index 304de4d83..c828db790 100644 > --- a/pbs-client/src/pxar/create.rs > +++ b/pbs-client/src/pxar/create.rs > @@ -348,7 +348,20 @@ where > ), > archiver.reuse_stats.partial_chunks_count, > ); > + } else { > + info!("Processing summary: "); nit: no need for the extra space after the colon. Also, not sure it is warranted to show this output like a list, given it does contain only a single item. OTOH it makes it easy to find the results, so no strong opinion on this one. > + > + let total_files = > + archiver.reuse_stats.files_reencoded_count + archiver.reuse_stats.files_hardlink_count; nit: this variable is only used to display the count in the log output below, just inline it there (analogous to the metadata mode). Further, `ReuseStats` for the struct and reuse_stats for the archiver field are now not fitting their use-case anymore. So it would be best to rename them to better describe what they are used for. Maybe `ProgressStats` or `ProcessingStats`? > + > + info!( > + "- {} total files ({} hardlinks) with {} data", > + total_files, > + archiver.reuse_stats.files_hardlink_count, > + HumanByte::from(archiver.reuse_stats.total_reencoded_size), > + ); > } > + > Ok(()) > } >