[pve-devel] [PATCH manager] ui: ceph/Status: fix recovery percentage display

Dominik Csapak d.csapak at proxmox.com
Wed Jul 7 10:47:47 CEST 2021


we incorrectly used 'total' as 100% of the to recovered objects here,
but that contains the total number of *bytes*.

rename 'toRecover' to better reflect its meaning and use that as
100% of the objects.

reported by a user:
https://forum.proxmox.com/threads/bug-ceph-recovery-bar-not-showing-percentage.91782/

Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
 www/manager6/ceph/Status.js | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/www/manager6/ceph/Status.js b/www/manager6/ceph/Status.js
index e92c698b..52563605 100644
--- a/www/manager6/ceph/Status.js
+++ b/www/manager6/ceph/Status.js
@@ -321,14 +321,14 @@ Ext.define('PVE.node.CephStatus', {
 	let unhealthy = degraded + unfound + misplaced;
 	// update recovery
 	if (pgmap.recovering_objects_per_sec !== undefined || unhealthy > 0) {
-	    let toRecover = pgmap.misplaced_total || pgmap.unfound_total || pgmap.degraded_total || 0;
-	    if (toRecover === 0) {
+	    let totalRecovery = pgmap.misplaced_total || pgmap.unfound_total || pgmap.degraded_total || 0;
+	    if (totalRecovery === 0) {
 		return; // FIXME: unexpected return and leaves things possible visible when it shouldn't?
 	    }
-	    let recovered = toRecover - unhealthy || 0;
+	    let recovered = totalRecovery - unhealthy || 0;
 	    let speed = pgmap.recovering_bytes_per_sec || 0;
 
-	    let recoveryRatio = recovered / total;
+	    let recoveryRatio = recovered / totalRecovery;
 	    let txt = `${(recoveryRatio * 100).toFixed(2)}%`;
 	    if (speed > 0) {
 		let obj_per_sec = speed / (4 * 1024 * 1024); // 4 MiB per Object
-- 
2.30.2






More information about the pve-devel mailing list