diff --git a/www/Utils.js b/www/Utils.js index 2746ef0b..9bd7e161 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 e1f38af6..e23ce2a6 100644 --- a/www/datastore/OptionView.js +++ b/www/datastore/OptionView.js @@ -271,6 +271,19 @@ 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'), + }, + value: 1, + uncheckedValue: 0, + defaultValue: 1, + deleteDefaultValue: true, + }, ], }, },