From 42e2fd35d849684729d53a433eae227486a01be4 Mon Sep 17 00:00:00 2001 From: Anis Elleuch Date: Thu, 23 Jun 2022 14:47:33 +0100 Subject: [PATCH] heal: Include dir markers when healing a fresh disk (#15158) Directories markers are not healed when healing a new fresh disk. A a proper fix would be moving object names encoding/decoding to erasure object level but it is too late now since the object to set distribution is calculated at a higher level. --- cmd/global-heal.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cmd/global-heal.go b/cmd/global-heal.go index 3da2f33cd..0d3e0baca 100644 --- a/cmd/global-heal.go +++ b/cmd/global-heal.go @@ -269,8 +269,11 @@ func (er *erasureObjects) healErasureSet(ctx context.Context, buckets []string, return } + // erasureObjects layer needs object names to be encoded + encodedEntryName := encodeDirObject(entry.name) + for _, version := range fivs.Versions { - if _, err := er.HealObject(ctx, bucket, version.Name, + if _, err := er.HealObject(ctx, bucket, encodedEntryName, version.VersionID, madmin.HealOpts{ ScanMode: scanMode, Remove: healDeleteDangling,