From: Fiona Ebner <f.ebner@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH v2 common 1/1] schema: support sizes with verbose suffixes {K, M, G, T}iB
Date: Mon, 2 Jun 2025 13:32:03 +0200 [thread overview]
Message-ID: <20250602113204.163955-2-f.ebner@proxmox.com> (raw)
In-Reply-To: <20250602113204.163955-1-f.ebner@proxmox.com>
The single-letter suffixes are ambiguous and especially in the context
of disks, the powers of ten are usually used. Proxmox VE uses
multiples of 1024 however.
This is in preparation to adapt format_size() to prefer the verbose
suffixes which is planned for Proxmox VE 9.
The single-letter suffixes stay supported for backwards-compatibility
for API/CLI users as well as parsing backup configurations. The
function is currently also used for parsing the 'target-size' Ceph
pool option (still restricted via schema to single-letter suffixes).
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
---
Changes in v2:
* Only add parsing support for now.
src/PVE/JSONSchema.pm | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/PVE/JSONSchema.pm b/src/PVE/JSONSchema.pm
index 7c63af1..01f100d 100644
--- a/src/PVE/JSONSchema.pm
+++ b/src/PVE/JSONSchema.pm
@@ -880,16 +880,16 @@ sub check_format {
sub parse_size {
my ($value) = @_;
- return undef if $value !~ m/^(\d+(\.\d+)?)([KMGT])?$/;
+ return undef if $value !~ m/^(\d+(\.\d+)?)([KMGT](?:iB)?)?$/;
my ($size, $unit) = ($1, $3);
if ($unit) {
- if ($unit eq 'K') {
+ if ($unit eq 'K' || $unit eq 'KiB') {
$size = $size * 1024;
- } elsif ($unit eq 'M') {
+ } elsif ($unit eq 'M' || $unit eq 'MiB') {
$size = $size * 1024 * 1024;
- } elsif ($unit eq 'G') {
+ } elsif ($unit eq 'G' || $unit eq 'GiB') {
$size = $size * 1024 * 1024 * 1024;
- } elsif ($unit eq 'T') {
+ } elsif ($unit eq 'T' || $unit eq 'TiB') {
$size = $size * 1024 * 1024 * 1024 * 1024;
}
}
--
2.39.5
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
next prev parent reply other threads:[~2025-06-02 11:32 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-02 11:32 [pve-devel] [PATCH-SERIES v2 common/manager 0/2] preparation for #3900: support parsing verbose size " Fiona Ebner
2025-06-02 11:32 ` Fiona Ebner [this message]
2025-06-02 11:32 ` [pve-devel] [PATCH v2 manager 2/2] vzdump: use verbose size suffix when logging archive file size Fiona Ebner
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=20250602113204.163955-2-f.ebner@proxmox.com \
--to=f.ebner@proxmox.com \
--cc=pve-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