[pbs-devel] [PATCH proxmox-backup 1/3] api: syncjob: correctly update/delete 'unmount-on-done' field

Christian Ebner c.ebner at proxmox.com
Wed Oct 29 14:37:15 CET 2025


Hi,

On 10/29/25 2:23 PM, Robert Obkircher wrote:
> 
> On 10/14/25 13:53, Hannes Laimer wrote:
>> Signed-off-by: Hannes Laimer <h.laimer at proxmox.com>
>> ---
>>   src/api2/config/sync.rs | 8 ++++++++
>>   1 file changed, 8 insertions(+)
>>
>> diff --git a/src/api2/config/sync.rs b/src/api2/config/sync.rs
>> index 358409b5..ab68391c 100644
>> --- a/src/api2/config/sync.rs
>> +++ b/src/api2/config/sync.rs
>> @@ -341,6 +341,8 @@ pub enum DeletableProperty {
>>       VerifiedOnly,
>>       /// Delete the run_on_mount property,
>>       RunOnMount,
>> +    /// Delete the unmount_on_done property,
>> +    UnmountOnDone,
>>       /// Delete the sync_direction property,
>>       SyncDirection,
>>   }
>> @@ -463,6 +465,9 @@ pub fn update_sync_job(
>>                   DeletableProperty::RunOnMount => {
>>                       data.run_on_mount = None;
>>                   }
>> +                DeletableProperty::UnmountOnDone => {
>> +                    data.unmount_on_done = None;
>> +                }
>>                   DeletableProperty::SyncDirection => {
>>                       data.sync_direction = None;
>>                   }
>> @@ -515,6 +520,9 @@ pub fn update_sync_job(
>>       if let Some(run_on_mount) = update.run_on_mount {
>>           data.run_on_mount = Some(run_on_mount);
>>       }
>> +    if let Some(unmount_on_done) = update.unmount_on_done {
>> +        data.unmount_on_done = Some(unmount_on_done);
>> +    }
>>       if let Some(sync_direction) = update.sync_direction {
>>           data.sync_direction = Some(sync_direction);
>>       }
> Make deb failed with an error in this file:
> 
> error[E0063]: missing field `unmount_on_done` in initializer of 
> `SyncJobConfig`
>     --> src/api2/config/sync.rs:684:19
>      |
> 684 |     let mut job = SyncJobConfig {
>      |                   ^^^^^^^^^^^^^ missing `unmount_on_done`
Did you correctly install the changes to the pbs-api-types dependency first?

The `SyncJobConfig` is part of the `pbs-api-types` crate, which is 
located in the `proxmox` repo.

Therefore, you can apply the first patch of the series there and build a 
deb package via `make pbs-api-types-deb` from the repo base folder (or 
in general `make <crate>-deb`). The install it via `dpkg -i 
build/<pkg>.deb`.

And in the `proxmox-backup` repo make sure to run a `cargo clean` after 
that.




More information about the pbs-devel mailing list