[pbs-devel] [PATCH v8 proxmox-backup 5/9] ui: expose GC atime safety check flag in datastore tuning options
Max Carrara
m.carrara at proxmox.com
Fri Apr 4 17:41:43 CEST 2025
On Fri Mar 21, 2025 at 9:02 AM CET, Christian Ebner wrote:
> Allow to edit the atime safety check flag via the datastore tuning
> options edit window.
>
> Do not expose the flag for datastore creation as it is strongly
> discouraged to create datastores on filesystems not correctly handling
> atime updates as the garbage collection expects. It is nevertheless
> still possible to create a datastore via the cli and pass in the
> `--tuning gc-atime-safety-check=false` option.
>
> Signed-off-by: Christian Ebner <c.ebner at proxmox.com>
> ---
> changes since version 7:
> - no changes
>
> www/Utils.js | 4 ++++
> www/datastore/OptionView.js | 12 ++++++++++++
> 2 files changed, 16 insertions(+)
>
> diff --git a/www/Utils.js b/www/Utils.js
> index 2746ef0b5..9bd7e1615 100644
> --- a/www/Utils.js
> +++ b/www/Utils.js
> @@ -846,6 +846,10 @@ Ext.define('PBS.Utils', {
> sync = PBS.Utils.tuningOptions['sync-level'][sync ?? '__default__'];
> options.push(`${gettext('Sync Level')}: ${sync}`);
>
> + let gc_atime_safety_check = tuning['gc-atime-safety-check'];
> + delete tuning['gc-atime-safety-check'];
> + options.push(`${gettext('GC Access Time Safety Check')}: ${gc_atime_safety_check ?? true}`);
> +
> for (const [k, v] of Object.entries(tuning)) {
> options.push(`${k}: ${v}`);
> }
> diff --git a/www/datastore/OptionView.js b/www/datastore/OptionView.js
> index e1f38af6f..eb846ab76 100644
> --- a/www/datastore/OptionView.js
> +++ b/www/datastore/OptionView.js
> @@ -271,6 +271,18 @@ Ext.define('PBS.Datastore.Options', {
> deleteEmpty: true,
> value: '__default__',
> },
> + {
> + xtype: 'proxmoxcheckbox',
> + name: 'gc-atime-safety-check',
> + fieldLabel: gettext('GC atime Check'),
> + autoEl: {
> + tag: 'div',
> + 'data-qtip': gettext('Ensure underlying storage honors access time updates'),
> + },
> + defaultValue: 1,
Since the check it on by default, I assume you want the checkbox in the
UI also to be ticked -- this can be done by using `value` instead of
`defaultValue` above.
> + uncheckedValue: 0,
> + deleteDefaultValue: true,
> + },
> ],
> },
> },
More information about the pbs-devel
mailing list