[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