From 64dc2a2e7f395ed9ae5ea6373fa1c49fde785250 Mon Sep 17 00:00:00 2001 From: Anis Elleuch Date: Fri, 12 Aug 2016 16:38:04 +0100 Subject: [PATCH] Heal format by inspection should avoid picking minioMetaBucket dir if the latter comes first in the list (listDir not ordered) (#2426) --- format-config-v1.go | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/format-config-v1.go b/format-config-v1.go index 00ec98c35..11f789fdf 100644 --- a/format-config-v1.go +++ b/format-config-v1.go @@ -561,14 +561,25 @@ func reorderDisksByInspection(orderedDisks, storageDisks []StorageAPI, formatCon if len(vols) == 0 { continue } - objects, err := storageDisks[index].ListDir(vols[0].Name, "") + volName := "" + // Avoid picking minioMetaBucket because ListVols() returns a non ordered list + for i := range vols { + if vols[i].Name != minioMetaBucket { + volName = vols[i].Name + break + } + } + if volName == "" { + continue + } + objects, err := storageDisks[index].ListDir(volName, "") if err != nil { return nil, err } if len(objects) == 0 { continue } - xlData, err := readXLMeta(storageDisks[index], vols[0].Name, objects[0]) + xlData, err := readXLMeta(storageDisks[index], volName, objects[0]) if err != nil { if err == errFileNotFound { continue