mirror of https://github.com/minio/minio.git
Report when invalid bucket names are skipped in FS backend. (#2947)
This commit is contained in:
parent
2005d656e6
commit
6e748cb1cf
|
@ -20,6 +20,7 @@ import (
|
|||
"crypto/md5"
|
||||
"crypto/sha256"
|
||||
"encoding/hex"
|
||||
"errors"
|
||||
"fmt"
|
||||
"hash"
|
||||
"io"
|
||||
|
@ -151,10 +152,12 @@ func (fs fsObjects) ListBuckets() ([]BucketInfo, error) {
|
|||
if err != nil {
|
||||
return nil, toObjectErr(traceError(err))
|
||||
}
|
||||
var invalidBucketNames []string
|
||||
for _, vol := range vols {
|
||||
// StorageAPI can send volume names which are incompatible
|
||||
// with buckets, handle it and skip them.
|
||||
if !IsValidBucketName(vol.Name) {
|
||||
invalidBucketNames = append(invalidBucketNames, vol.Name)
|
||||
continue
|
||||
}
|
||||
// Ignore the volume special bucket.
|
||||
|
@ -166,6 +169,11 @@ func (fs fsObjects) ListBuckets() ([]BucketInfo, error) {
|
|||
Created: vol.Created,
|
||||
})
|
||||
}
|
||||
// Print a user friendly message if we indeed skipped certain folders which are
|
||||
// incompatible with S3's bucket name restrictions.
|
||||
if len(invalidBucketNames) > 0 {
|
||||
errorIf(errors.New("One or more invalid bucket names found"), "Skipping %s", invalidBucketNames)
|
||||
}
|
||||
sort.Sort(byBucketName(bucketInfos))
|
||||
return bucketInfos, nil
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue