From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [IPv6:2a0f:8001:1:32::40]) by lore.proxmox.com (Postfix) with ESMTPS id 9D5681FF0E4 for ; Tue, 11 Aug 2026 11:38:04 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id BD5A521598; Tue, 11 Aug 2026 11:38:01 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786441072; x=1787045872; darn=lists.proxmox.com; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Hk/CIAwtes8cNoSRQMvcm6XKl7/A8gNuYlM68GB8N8s=; b=K3J+bJZlpXTrbnWhkm4Ph37CSQ2xp8Y8QoQjPf/id0nUVzYK1nzX2MJb3KrUo4+hJq WMR0ct1TpMOdDaLVHLlewthuhWz/p0a5tAOf2KFn+ctYdzkZs/kkjkVZgDZTbUAOspIa XfvVl5sI+sjg0iDZRialdFW1nwT/em4Nkub3vG0Z+2Ql0Hj/j9endQnQrHyDVrj54y1F sgzKiogC5n1Cg26Dp04E4rZszfNYTHb4IRPzZx5l1MReQHmnA+rErjxECiqkuuiqg7VL 8B25EaAGzMt6/r6B/jf/qLkoXq6gVL9eZMPw7z8DsBKBM4ZQgN+hHJ/L+xwdCYc0VEX9 pq+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786441072; x=1787045872; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=Hk/CIAwtes8cNoSRQMvcm6XKl7/A8gNuYlM68GB8N8s=; b=MA5cTUImaKOkqovH9PMPWKcELtC8Bv+nqcZP1V1QW+2iyeVZr3gWAQWUopVH0W+jLW eYdu/p0oVd2o7E4aXhYbYcDnVjGkLTLaEWrqMtCo6W/nGZJLp8QeArwAgn1cowhypiie +ttXv+AkZ0k4zV9N6aZpXpknbO9WZMcX6448TzxGdKCo17JtQfMiGnbfXgQW0DlTvsvN Re0Urd6EprbSZG8ZkhKLs632tFQvRezCscE4EYxgZ45/IZCxhgTchwgqAm988aqpZ+dq KmUdS8CzQqxOF9Mges78PJwfk68CaWD4pWIS0ert4/oLt5u43lcROvUP7v5Z7U8frI01 M4fA== X-Gm-Message-State: AOJu0YyKTJZegzrXccRcwW+TKr+qodFSODbaWvNIAm326R42UVohEIOF FEyaAnXZegsZL8oIij+GPLWBmte26fd96o08DkST5GtVgumZ25KzIc0iMIi4mw== X-Gm-Gg: AR+sD12420OBOqdPYRTRa4egnXzT/gSxGxsfHlKIrFd/1JkNtQeEANUFDmynbkfCuxD G3/pN+ZwE1/GoUYZN/Rhvgxaur8I6uNDYAZbGVY0HkWly20g9w1VPMAYfFRZcL+0rQBYbfUoicN n/xwetZuPH1JV04MpemPFQ2VGawCsZD3/ThCoJlK5CNkFM9edmuuR6q+AwhNgg4fdxPdc6SsASS ABKGuyVbhs7DAw6JVEeWKcInK7qf6VwUzHBecTxLkJ/MX2ISpu7zsTDbga6tzdSFpfzIT28xl2y C3ybluLOHScpVrkRnNYL2x2g+KADLPr+5Y/fgVNfWMqzyq3vNL+33+X98FZdiFuskjWBHj74Ch0 FJhYs8pluF4n3WvvsBzpKQdXWWr98+/3cQQRmTUSeEXsGy4PUchrsV6b4QIC7xkGj6jMoDZongj vlEsZ/4/3lO8UTJr0KOmTNohpeZdlRg8YKa1Mpms9FmNEKQX2bq7NdLFvtBvro3XvU22VDvFl+8 6Krym2Gbw+VjA35SzEelAHRTGJD819LotS6tl224BxTLpihLR5fhK1tOb8Z6OAw X-Received: by 2002:a05:600c:35c4:b0:499:78b3:7b36 with SMTP id 5b1f17b1804b1-49978b37c8bmr38354755e9.11.1786441071833; Tue, 11 Aug 2026 02:37:51 -0700 (PDT) From: Enrico Plantulli To: pbs-devel@lists.proxmox.com Subject: [PATCH v2 proxmox-backup 3/3] ui: tuning: add GC chunk metadata prefetch options Date: Tue, 11 Aug 2026 11:37:21 +0200 Message-ID: <20260811093722.735290-4-plantulli@gmail.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260811093722.735290-1-plantulli@gmail.com> References: <20260810050201.347124-1-plantulli@gmail.com> <20260811093722.735290-1-plantulli@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.214 Adjusted score from AWL reputation of From: address DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain DMARC_PASS -0.1 DMARC pass policy FREEMAIL_FROM 0.001 Sender email is commonly abused enduser mail provider RCVD_IN_DNSWL_NONE -0.0001 Sender listed at https://www.dnswl.org/, no trust 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: U3JJMZY4YXHSY4SW4PZ4PQYIA3AY7MMV X-Message-ID-Hash: U3JJMZY4YXHSY4SW4PZ4PQYIA3AY7MMV X-MailFrom: plantulli@gmail.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: Enrico Plantulli 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: The datastore option view rebuilds the tuning property string from the fields of the form, so a tuning option without a field is dropped as soon as any other tuning option is edited in the GUI. Add the fields for gc-chunk-metadata-prefetch and gc-prefetch-batch-size, and render them explicitly in the summary. Signed-off-by: Enrico Plantulli --- www/Utils.js | 12 ++++++++++++ www/datastore/OptionView.js | 27 +++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/www/Utils.js b/www/Utils.js index d6bfd45..014d0c9 100644 --- a/www/Utils.js +++ b/www/Utils.js @@ -923,6 +923,18 @@ Ext.define('PBS.Utils', { `${gettext('GC cache capacity')}: ${gc_cache_capacity ?? Proxmox.Utils.defaultText}`, ); + let gc_chunk_metadata_prefetch = tuning['gc-chunk-metadata-prefetch']; + delete tuning['gc-chunk-metadata-prefetch']; + options.push( + `${gettext('GC chunk metadata prefetch')}: ${gc_chunk_metadata_prefetch ?? false}`, + ); + + let gc_prefetch_batch_size = tuning['gc-prefetch-batch-size']; + delete tuning['gc-prefetch-batch-size']; + options.push( + `${gettext('GC prefetch batch size')}: ${gc_prefetch_batch_size ?? Proxmox.Utils.defaultText}`, + ); + let verification_workers = tuning['default-verification-workers']; delete tuning['default-verification-workers']; options.push(`${gettext('Default verification workers')}: ${verification_workers ?? 4}`); diff --git a/www/datastore/OptionView.js b/www/datastore/OptionView.js index 42a6104..5d3e476 100644 --- a/www/datastore/OptionView.js +++ b/www/datastore/OptionView.js @@ -338,6 +338,33 @@ Ext.define('PBS.Datastore.Options', { deleteEmpty: true, step: 1024, }, + { + xtype: 'proxmoxcheckbox', + name: 'gc-chunk-metadata-prefetch', + fieldLabel: gettext('GC Chunk Metadata Prefetch'), + labelWidth: 200, + autoEl: { + tag: 'div', + 'data-qtip': gettext( + 'Defer and batch chunk atime updates in GC phase 1 to load chunk metadata in bulk', + ), + }, + value: 0, + uncheckedValue: 0, + defaultValue: 0, + deleteDefaultValue: true, + }, + { + xtype: 'proxmoxintegerfield', + name: 'gc-prefetch-batch-size', + fieldLabel: gettext('GC Prefetch Batch Size'), + labelWidth: 200, + emptyText: '1048576', + minValue: 1024, + maxValue: 16 * 1024 * 1024, + deleteEmpty: true, + step: 1024, + }, { xtype: 'proxmoxintegerfield', name: 'default-verification-readers', -- 2.47.3