[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