From 5a1785861133cc91bbea73574dcbfbecc3ef8535 Mon Sep 17 00:00:00 2001 From: slasher Date: Tue, 2 Jun 2026 16:49:57 +0800 Subject: [PATCH] fix(clustermgr): exclude old disk items which has empty node . #1000925801 Signed-off-by: slasher --- blobstore/clustermgr/dashboard.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/blobstore/clustermgr/dashboard.go b/blobstore/clustermgr/dashboard.go index 7a1e5c01b..2e2edc134 100644 --- a/blobstore/clustermgr/dashboard.go +++ b/blobstore/clustermgr/dashboard.go @@ -398,6 +398,13 @@ func buildDisk(snaps []clustermgr.BlobNodeDiskInfo, droppedNodes map[proto.NodeI for _, e := range slotMax { s := e.snap + // Legacy disks from before node-id tracking: NodeID==0 with Repaired status means + // the node was decommissioned before node tracking existed; count as repaired but + // exclude from __total__ (no physical slot to track). + if s.NodeID == 0 && s.Status == proto.DiskStatusRepaired { + addEntry(proto.DiskStatusRepaired.String(), s.Idc, &s.DiskHeartBeatInfo) + continue + } // Node is Dropped → treat all its disks as dropped regardless of disk status. if _, nodeDropped := droppedNodes[s.NodeID]; nodeDropped || s.Status == proto.DiskStatusDropped { addEntry(proto.DiskStatusDropped.String(), s.Idc, &s.DiskHeartBeatInfo)