[pbs-devel] [PATCH proxmox 1/2] pbs api types: add check garbage collection atime updates flag

Christian Ebner c.ebner at proxmox.com
Mon Mar 3 14:20:41 CET 2025


On 3/3/25 13:58, Fabian Grünbichler wrote:
> On February 19, 2025 5:48 pm, Christian Ebner wrote:
>> Add the `gc-atime-check` flag to the datastore tuning parameters.
>> This flag allows to enable/disable a check to detect if the atime
>> update is honored by the filesystem backing the chunk store during
>> phase 1 of garbage collection and during datastore creation.
>>
>> The default is to perform the check.
>>
>> Signed-off-by: Christian Ebner <c.ebner at proxmox.com>
>> ---
>> changes since version 1:
>> - Rename from check-gc-atime to gc-atime-check, so that the option is
>>    prefixed with gc for better association
>>
>>   pbs-api-types/src/datastore.rs | 8 ++++++++
>>   1 file changed, 8 insertions(+)
>>
>> diff --git a/pbs-api-types/src/datastore.rs b/pbs-api-types/src/datastore.rs
>> index ddd8d3c6..a7a9db7d 100644
>> --- a/pbs-api-types/src/datastore.rs
>> +++ b/pbs-api-types/src/datastore.rs
>> @@ -229,6 +229,12 @@ pub enum DatastoreFSyncLevel {
>>               type: ChunkOrder,
>>               optional: true,
>>           },
>> +        "gc-atime-check": {
>> +            description: "Check filesystem atime update during store creation and garbage collection",
> 
> this should probably spell out that the check is for atime updates
> *working as expected*, else this could also be interpreted to mean
> "check atime during GC", which we always do ;)
> 
> maybe also encode this in the setting name?

Agreed, will extend the description accordingly and come up with a 
better option name.

> 
>> +            optional: true,
>> +            default: true,
>> +            type: bool,
>> +        },
>>       },
>>   )]
>>   #[derive(Serialize, Deserialize, Default)]
>> @@ -240,6 +246,8 @@ pub struct DatastoreTuning {
>>       pub chunk_order: Option<ChunkOrder>,
>>       #[serde(skip_serializing_if = "Option::is_none")]
>>       pub sync_level: Option<DatastoreFSyncLevel>,
>> +    #[serde(skip_serializing_if = "Option::is_none")]
>> +    pub gc_atime_check: Option<bool>,
>>   }
>>   
>>   pub const DATASTORE_TUNING_STRING_SCHEMA: Schema = StringSchema::new("Datastore tuning options")
>> -- 
>> 2.39.5
>>
>>
>>
>> _______________________________________________
>> pbs-devel mailing list
>> pbs-devel at lists.proxmox.com
>> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
>>
>>
>>
> 
> 
> _______________________________________________
> pbs-devel mailing list
> pbs-devel at lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
> 
> 





More information about the pbs-devel mailing list