[pbs-devel] [PATCH proxmox-backup 1/3] api: syncjob: correctly update/delete 'unmount-on-done' field
Robert Obkircher
r.obkircher at proxmox.com
Wed Oct 29 14:24:01 CET 2025
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`
I added "unmount_on_done: None" and performed the following tests:
- create local and removable datastore
- create pull sync job with "run on mount" and "unmount when done"
- detach/reattach disk
- ok, got sync email and was unmounted
- disabled unmount when done
- detach/reattach disk
- ok, got sync email, remained mounted
- enabled "unmount when done" again
- manually start sync job with "run now"
- ok, got sync email
- remained mounted as explained by the cover letter. As a user
this might be confusing.
- created 3 more sync jobs, all with unmount when done
- ok, got 4 emails and was unmounted
Tested-by: Robert Obkircher <r.obkircher at proxmox.com>
More information about the pbs-devel
mailing list