diff --git a/cmd/xl-v1-list-objects.go b/cmd/xl-v1-list-objects.go index fd8e5151c..8ccebafc1 100644 --- a/cmd/xl-v1-list-objects.go +++ b/cmd/xl-v1-list-objects.go @@ -34,14 +34,10 @@ func listDirFactory(ctx context.Context, disks ...StorageAPI) ListDirFunc { var newEntries []string var err error entries, err = disk.ListDir(bucket, prefixDir, -1, xlMetaJSONFile) - if err != nil { + if err != nil || len(entries) == 0 { continue } - if len(entries) == 0 { - return true, nil - } - // Find elements in entries which are not in mergedEntries for _, entry := range entries { idx := sort.SearchStrings(mergedEntries, entry) @@ -58,6 +54,11 @@ func listDirFactory(ctx context.Context, disks ...StorageAPI) ListDirFunc { sort.Strings(mergedEntries) } } + + if len(mergedEntries) == 0 { + return true, nil + } + return false, filterMatchingPrefix(mergedEntries, prefixEntry) } return listDir