public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Dominik Csapak <d.csapak@proxmox.com>
To: Proxmox Backup Server development discussion
	<pbs-devel@lists.proxmox.com>,
	Hannes Laimer <h.laimer@proxmox.com>
Subject: Re: [pbs-devel] [PATCH v2 proxmox-backup 3/4] api2: make maintenance type and msg updatable/deletable
Date: Tue, 12 Oct 2021 10:51:51 +0200	[thread overview]
Message-ID: <d534f7a9-38da-4e31-85f5-703306aba570@proxmox.com> (raw)
In-Reply-To: <20211006151457.18508-4-h.laimer@proxmox.com>

as i said off-list and you wrote in the cover-letter, it'd probably
make sense to avoid changing the maintenance mode when a datastore
is currently held in a mode that conflicts with the given setting...

this would require a refcounted variable for each mode
(None, Read-only, Offline (maybe not that)) and a check here
if it is set

everytime a 'lookup' would happen, increase the count, everytime
the reference is dropped, decrease the count

(though we can always implement that later if we deem it not necessary)

the big drawback of the approach currently, is that the admin might not
immediately see that a task/api-call is running while setting the
mode and thinking he can take the datastore offline for example
(e.g. a large file-download)

comment inline

On 10/6/21 17:14, Hannes Laimer wrote:
> ---
>   src/api2/config/datastore.rs | 8 ++++++++
>   1 file changed, 8 insertions(+)
> 
> diff --git a/src/api2/config/datastore.rs b/src/api2/config/datastore.rs
> index 0819d5ec..1f1bb9c1 100644
> --- a/src/api2/config/datastore.rs
> +++ b/src/api2/config/datastore.rs
> @@ -183,6 +183,10 @@ pub enum DeletableProperty {
>       notify_user,
>       /// Delete the notify property
>       notify,
> +    /// Delete the maintenance_type property
> +    maintenance_type,
> +    /// Delete the maintenance_msg property
> +    maintenance_msg,
>   }
>   
>   #[api(
> @@ -249,6 +253,8 @@ pub fn update_datastore(
>                   DeletableProperty::verify_new => { data.verify_new = None; },
>                   DeletableProperty::notify => { data.notify = None; },
>                   DeletableProperty::notify_user => { data.notify_user = None; },
> +                DeletableProperty::maintenance_type => { data.maintenance_type = None; },
> +                DeletableProperty::maintenance_msg => { data.maintenance_msg = None; },

i think it does not make sense to save the msg when the type is None.
(this would be no issue if both would be in the same variable, see my 
comment in 1/4)

>               }
>           }
>       }
> @@ -291,6 +297,8 @@ pub fn update_datastore(
>           }
>       }
>       if update.verify_new.is_some() { data.verify_new = update.verify_new; }
> +    if update.maintenance_type.is_some() { data.maintenance_type = update.maintenance_type; }
> +    if update.maintenance_msg.is_some() { data.maintenance_msg = update.maintenance_msg; }
>   
>       if update.notify_user.is_some() { data.notify_user = update.notify_user; }
>   
> 





  reply	other threads:[~2021-10-12  8:52 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-06 15:14 [pbs-devel] [PATCH v2 proxmox-backup 0/4] close #3071: maintenance mode for datastores Hannes Laimer
2021-10-06 15:14 ` [pbs-devel] [PATCH v2 proxmox-backup 1/4] pbs-api-types: add maintenance-type and msg to ds config Hannes Laimer
2021-10-12  8:51   ` Dominik Csapak
2021-10-06 15:14 ` [pbs-devel] [PATCH v2 proxmox-backup 2/4] pbs-datastore: add check for maintenance to lookup_datastore Hannes Laimer
2021-10-12  8:51   ` Dominik Csapak
2021-10-06 15:14 ` [pbs-devel] [PATCH v2 proxmox-backup 3/4] api2: make maintenance type and msg updatable/deletable Hannes Laimer
2021-10-12  8:51   ` Dominik Csapak [this message]
2021-10-06 15:14 ` [pbs-devel] [PATCH v2 proxmox-backup 4/4] ui: add maintenance to datastore options Hannes Laimer
2021-10-12  8:51   ` Dominik Csapak

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d534f7a9-38da-4e31-85f5-703306aba570@proxmox.com \
    --to=d.csapak@proxmox.com \
    --cc=h.laimer@proxmox.com \
    --cc=pbs-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal