From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id CFF5990213 for ; Wed, 5 Oct 2022 17:57:08 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 9F55E419D for ; Wed, 5 Oct 2022 17:56:38 +0200 (CEST) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Wed, 5 Oct 2022 17:56:37 +0200 (CEST) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 0F3B8444EF for ; Wed, 5 Oct 2022 17:56:37 +0200 (CEST) Message-ID: Date: Wed, 5 Oct 2022 17:56:36 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:106.0) Gecko/20100101 Thunderbird/106.0 Content-Language: en-GB To: Proxmox Backup Server development discussion , Daniel Tschlatscher References: <20220824102657.159735-1-d.tschlatscher@proxmox.com> From: Thomas Lamprecht In-Reply-To: <20220824102657.159735-1-d.tschlatscher@proxmox.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-SPAM-LEVEL: Spam detection results: 0 AWL 1.194 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment NICE_REPLY_A -2.449 Looks like a legit reply (A) SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [proxmox-backup-proxy.rs, status.rs, status.total, disk.dev] Subject: Re: [pbs-devel] [PATCH proxmox-backup v4 1/3] fix #4077: Estimated Full metric on ext4 file systems 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: , X-List-Received-Date: Wed, 05 Oct 2022 15:57:08 -0000 Am 24/08/2022 um 12:26 schrieb Daniel Tschlatscher: > The rrd data now includes tracking the total disk usage for the unpri- > vileged backup user. The calculation for the estimated_time_full was > adapted to use the total for the unpriviliged user. > > The unpriv_total is the sum of the used space in the file system, plus > the available space for the unpriviliged user. > > Signed-off-by: Daniel Tschlatscher > Reviewed-by: Matthias Heiserer > --- > No changes from v3 > > src/api2/status.rs | 3 ++- > src/bin/proxmox-backup-proxy.rs | 2 ++ > 2 files changed, 4 insertions(+), 1 deletion(-) > > diff --git a/src/api2/status.rs b/src/api2/status.rs > index 50d401c2..b918156e 100644 > --- a/src/api2/status.rs > +++ b/src/api2/status.rs > @@ -84,7 +84,8 @@ pub async fn datastore_status( > let get_rrd = > |what: &str| extract_rrd_data(&rrd_dir, what, RRDTimeFrame::Month, RRDMode::Average); > > - let total_res = get_rrd("total")?; > + // Use the space for the unpriviliged user, as e.g. ext4 reserves 5% of disks for root only > + let total_res = get_rrd("unpriv_total")?; But we only just started to even record that, so it's not _that_ ideal to directly switch as the user will notice a possible big jump after the upgrade. Can we check how many data is in there to decide which one to use, or do it more heuristically and start recording now but switch only in a later usage (e.g., the point release after the next one). > let used_res = get_rrd("used")?; > > if let ( > diff --git a/src/bin/proxmox-backup-proxy.rs b/src/bin/proxmox-backup-proxy.rs > index 214bc9b1..e5c8813f 100644 > --- a/src/bin/proxmox-backup-proxy.rs > +++ b/src/bin/proxmox-backup-proxy.rs > @@ -1273,6 +1273,8 @@ fn rrd_update_disk_stat(disk: &DiskStat, rrd_prefix: &str) { > rrd_update_gauge(&rrd_key, status.total as f64); > let rrd_key = format!("{}/used", rrd_prefix); > rrd_update_gauge(&rrd_key, status.used as f64); > + let rrd_key = format!("{}/unpriv_total", rrd_prefix); > + rrd_update_gauge(&rrd_key, (status.used + status.available) as f64); what speaks against broadcasting available? I mean one got the same information either way, but mirroring the disk stats and returning total, used, available instead of "two" totals sounds somewhat nicer to be from an API-User POV, but no hard feelings here, just stuck quite a bit out to me after reviewing this series finally. > } > > if let Some(stat) = &disk.dev {