[pve-devel] [PATCH storage 2/2] rbd plugin: status: explain why percentage value can be different from Ceph

Fiona Ebner f.ebner at proxmox.com
Tue May 13 15:31:22 CEST 2025


Signed-off-by: Fiona Ebner <f.ebner at proxmox.com>
---
 src/PVE/Storage/RBDPlugin.pm | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/PVE/Storage/RBDPlugin.pm b/src/PVE/Storage/RBDPlugin.pm
index 154fa00..b56f8e4 100644
--- a/src/PVE/Storage/RBDPlugin.pm
+++ b/src/PVE/Storage/RBDPlugin.pm
@@ -703,6 +703,12 @@ sub status {
 
     # max_avail -> max available space for data w/o replication in the pool
     # stored -> amount of user data w/o replication in the pool
+    # NOTE These values are used because they are most natural from a user perspective.
+    # However, the %USED/percent_used value in Ceph is calculated from values before factoring out
+    # replication, namely 'bytes_used / (bytes_used + avail_raw)'. In certain setups, e.g. with LZ4
+    # compression, this percentage can be noticeably different form the percentage
+    # 'stored / (stored + max_avail)' shown in the Proxmox VE CLI/UI. See also src/mon/PGMap.cc from
+    # the Ceph source code, which also mentions that 'stored' is an approximation.
     my $free = $d->{stats}->{max_avail};
     my $used = $d->{stats}->{stored};
     my $total = $used + $free;
-- 
2.39.5





More information about the pve-devel mailing list