From: Dietmar Maurer <dietmar@proxmox.com>
To: Proxmox Backup Server development discussion
<pbs-devel@lists.proxmox.com>,
Gabriel Goller <g.goller@proxmox.com>
Subject: Re: [pbs-devel] [PATCH proxmox-backup 2/2] status: use Option on avail/used datastore attrs
Date: Thu, 7 Dec 2023 18:07:43 +0100 (CET) [thread overview]
Message-ID: <1543006921.3021.1701968863864@webmail.proxmox.com> (raw)
In-Reply-To: <20231207143527.282373-3-g.goller@proxmox.com>
But this is not backwards compatible. Deserialization fail now for -1 (when connecting to an old server which returns -1)?
> On 7.12.2023 15:35 CET Gabriel Goller <g.goller@proxmox.com> wrote:
>
>
> Instead of returning -1 if we can't get the attributes, we use an
> Option which will not be serialized on `None`.
>
> Signed-off-by: Gabriel Goller <g.goller@proxmox.com>
> ---
> pbs-api-types/src/datastore.rs | 19 +++++++++++--------
> src/api2/status.rs | 6 +++---
> 2 files changed, 14 insertions(+), 11 deletions(-)
>
> diff --git a/pbs-api-types/src/datastore.rs b/pbs-api-types/src/datastore.rs
> index d4ead1d1..c361dc30 100644
> --- a/pbs-api-types/src/datastore.rs
> +++ b/pbs-api-types/src/datastore.rs
> @@ -1302,12 +1302,15 @@ pub struct DataStoreStatus {
> /// Status of a Datastore
> pub struct DataStoreStatusListItem {
> pub store: String,
> - /// The Size of the underlying storage in bytes. (-1 on error)
> - pub total: i64,
> - /// The used bytes of the underlying storage. (-1 on error)
> - pub used: i64,
> + /// The Size of the underlying storage in bytes.
> + #[serde(skip_serializing_if = "Option::is_none")]
> + pub total: Option<i64>,
> + /// The used bytes of the underlying storage.
> + #[serde(skip_serializing_if = "Option::is_none")]
> + pub used: Option<i64>,
> /// The available bytes of the underlying storage. (-1 on error)
> - pub avail: i64,
> + #[serde(skip_serializing_if = "Option::is_none")]
> + pub avail: Option<i64>,
> /// A list of usages of the past (last Month).
> #[serde(skip_serializing_if = "Option::is_none")]
> pub history: Option<Vec<Option<f64>>>,
> @@ -1335,9 +1338,9 @@ impl DataStoreStatusListItem {
> pub fn empty(store: &str, err: Option<String>) -> Self {
> DataStoreStatusListItem {
> store: store.to_owned(),
> - total: -1,
> - used: -1,
> - avail: -1,
> + total: None,
> + used: None,
> + avail: None,
> history: None,
> history_start: None,
> history_delta: None,
> diff --git a/src/api2/status.rs b/src/api2/status.rs
> index ff7d4cbd..6e758187 100644
> --- a/src/api2/status.rs
> +++ b/src/api2/status.rs
> @@ -68,9 +68,9 @@ pub async fn datastore_status(
>
> let mut entry = DataStoreStatusListItem {
> store: store.clone(),
> - total: status.total as i64,
> - used: status.used as i64,
> - avail: status.available as i64,
> + total: Some(status.total as i64),
> + used: Some(status.used as i64),
> + avail: Some(status.available as i64),
> history: None,
> history_start: None,
> history_delta: None,
> --
> 2.39.2
>
>
>
> _______________________________________________
> pbs-devel mailing list
> pbs-devel@lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
next prev parent reply other threads:[~2023-12-07 17:07 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-07 14:35 [pbs-devel] [PATCH proxmox-backup 0/2] Fix DatastoreListSummary on limited permissions Gabriel Goller
2023-12-07 14:35 ` [pbs-devel] [PATCH proxmox-backup 1/2] ui: datastore summary handle non-existent values Gabriel Goller
2023-12-07 14:35 ` [pbs-devel] [PATCH proxmox-backup 2/2] status: use Option on avail/used datastore attrs Gabriel Goller
2023-12-07 17:07 ` Dietmar Maurer [this message]
2023-12-07 17:10 ` Dietmar Maurer
2023-12-07 17:33 ` Dietmar Maurer
2023-12-11 8:46 ` Gabriel Goller
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=1543006921.3021.1701968863864@webmail.proxmox.com \
--to=dietmar@proxmox.com \
--cc=g.goller@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.