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; }
>
>
next prev parent 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