diff --git a/weed/shell/command_fs_verify.go b/weed/shell/command_fs_verify.go index b30020c40..47052cca0 100644 --- a/weed/shell/command_fs_verify.go +++ b/weed/shell/command_fs_verify.go @@ -163,9 +163,10 @@ func (c *commandFsVerify) verifyProcessMetadata(path string, wg *sync.WaitGroup) Directory: message.NewParentPath, Name: message.NewEntry.Name, }) - if strings.HasSuffix(errReq.Error(), "no entry is found in filer store") { - return nil - } else if errReq != nil { + if errReq != nil { + if strings.HasSuffix(errReq.Error(), "no entry is found in filer store") { + return nil + } return errReq } if entryResp.Entry.Attributes.Mtime == message.NewEntry.Attributes.Mtime && diff --git a/weed/topology/topology_event_handling.go b/weed/topology/topology_event_handling.go index 761649ff4..d0ecd089a 100644 --- a/weed/topology/topology_event_handling.go +++ b/weed/topology/topology_event_handling.go @@ -90,6 +90,11 @@ func (t *Topology) UnRegisterDataNode(dn *DataNode) { vl.SetVolumeUnavailable(dn, v.Id) } + // unregister ec shards when volume server disconnected + for _, s := range dn.GetEcShards() { + t.UnRegisterEcShards(s, dn) + } + negativeUsages := dn.GetDiskUsages().negative() dn.UpAdjustDiskUsageDelta(negativeUsages) dn.DeltaUpdateVolumes([]storage.VolumeInfo{}, dn.GetVolumes())