From cb2013dbce5094ae2ede8ea4c8af2fb20372996c Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Wed, 7 Jul 2021 14:49:19 +0200 Subject: [PATCH] ui: ceph/Status: fix recovery percentage display we incorrectly used 'total' as 100% of the to recovered objects here, but that containst the total number of *bytes*. rename 'toRecover' to better reflect that the unit is 'objects' and use that as total reported by a user: https://forum.proxmox.com/threads/bug-ceph-recovery-bar-not-showing-percentage.91782/ Signed-off-by: Dominik Csapak --- 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..bdcf3f1b 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 toRecoverObjects = pgmap.misplaced_total || pgmap.unfound_total || pgmap.degraded_total || 0; + if (toRecoverObjects === 0) { return; // FIXME: unexpected return and leaves things possible visible when it shouldn't? } - let recovered = toRecover - unhealthy || 0; + let recovered = toRecoverObjects - unhealthy || 0; let speed = pgmap.recovering_bytes_per_sec || 0; - let recoveryRatio = recovered / total; + let recoveryRatio = recovered / toRecoverObjects; let txt = `${(recoveryRatio * 100).toFixed(2)}%`; if (speed > 0) { let obj_per_sec = speed / (4 * 1024 * 1024); // 4 MiB per Object