[pbs-devel] [PATCH proxmox 1/1] pbs-api-types: add verify-job-{read, verify}-threads to tuning options

Christian Ebner c.ebner at proxmox.com
Fri Nov 21 15:15:00 CET 2025


On 11/21/25 1:32 PM, Nicolas Frey wrote:
> to determine the default number of threads to use for verify jobs on
> the datastore level
> 
> Signed-off-by: Nicolas Frey <n.frey at proxmox.com>
> ---
> adds it to the tuning options, though it can easily be moved into its
> own setting within the datastore configuration if desired
> 
>   pbs-api-types/src/datastore.rs | 15 ++++++++++++++-
>   1 file changed, 14 insertions(+), 1 deletion(-)
> 
> diff --git a/pbs-api-types/src/datastore.rs b/pbs-api-types/src/datastore.rs
> index a214ac25..176c0d4a 100644
> --- a/pbs-api-types/src/datastore.rs
> +++ b/pbs-api-types/src/datastore.rs
> @@ -19,7 +19,8 @@ use crate::{
>       BACKUP_ID_RE, BACKUP_NS_RE, BACKUP_TIME_RE, BACKUP_TYPE_RE, DATASTORE_NOTIFY_STRING_SCHEMA,
>       GC_SCHEDULE_SCHEMA, GROUP_OR_SNAPSHOT_PATH_REGEX_STR, PROXMOX_SAFE_ID_FORMAT,
>       PROXMOX_SAFE_ID_REGEX_STR, PRUNE_SCHEDULE_SCHEMA, SHA256_HEX_REGEX, SINGLE_LINE_COMMENT_SCHEMA,
> -    SNAPSHOT_PATH_REGEX_STR, UPID,
> +    SNAPSHOT_PATH_REGEX_STR, UPID, VERIFY_JOB_READ_THREADS_SCHEMA,
> +    VERIFY_JOB_VERIFY_THREADS_SCHEMA,
>   };
>   
>   const_regex! {
> @@ -262,6 +263,14 @@ pub const GC_CACHE_CAPACITY_SCHEMA: Schema =
>               schema: GC_CACHE_CAPACITY_SCHEMA,
>               optional: true,
>           },
> +        "verify-job-verify-threads": {

nit: these are user facing and a bit clumsy, especially if to be set via 
cli. so maybe `default-verificaton-workers`?

> +            schema: VERIFY_JOB_VERIFY_THREADS_SCHEMA,
> +            optional: true,
> +        },
> +        "verify-job-read-threads": {

... same: maybe `default-verification-readers`. But no hard opinion 
here, as at least your suggestions make the correlation to the now 
pre-existing per verify job configuration parameters clearer.

> +            schema: VERIFY_JOB_READ_THREADS_SCHEMA,
> +            optional: true,
> +        },
>       },
>   )]
>   #[derive(Serialize, Deserialize, Default)]
> @@ -279,6 +288,10 @@ pub struct DatastoreTuning {
>       pub gc_atime_cutoff: Option<usize>,
>       #[serde(skip_serializing_if = "Option::is_none")]
>       pub gc_cache_capacity: Option<usize>,
> +    #[serde(skip_serializing_if = "Option::is_none")]
> +    pub verify_job_verify_threads: Option<usize>,
> +    #[serde(skip_serializing_if = "Option::is_none")]
> +    pub verify_job_read_threads: Option<usize>,
>   }
>   
>   pub const DATASTORE_TUNING_STRING_SCHEMA: Schema = StringSchema::new("Datastore tuning options")





More information about the pbs-devel mailing list