|
|
@ -27,6 +27,7 @@ import ( |
|
|
|
"sync" |
|
|
|
"sync" |
|
|
|
|
|
|
|
|
|
|
|
humanize "github.com/dustin/go-humanize" |
|
|
|
humanize "github.com/dustin/go-humanize" |
|
|
|
|
|
|
|
"github.com/minio/minio/cmd/config" |
|
|
|
"github.com/minio/minio/cmd/config/storageclass" |
|
|
|
"github.com/minio/minio/cmd/config/storageclass" |
|
|
|
"github.com/minio/minio/cmd/logger" |
|
|
|
"github.com/minio/minio/cmd/logger" |
|
|
|
"github.com/minio/minio/pkg/color" |
|
|
|
"github.com/minio/minio/pkg/color" |
|
|
@ -379,11 +380,12 @@ func saveFormatXL(disk StorageAPI, format interface{}, diskID string) error { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var ignoredHiddenDirectories = map[string]struct{}{ |
|
|
|
var ignoredHiddenDirectories = map[string]struct{}{ |
|
|
|
minioMetaBucket: {}, |
|
|
|
minioMetaBucket: {}, // metabucket '.minio.sys'
|
|
|
|
".snapshot": {}, |
|
|
|
".minio": {}, // users may choose to double down the backend as the config folder for certs
|
|
|
|
"lost+found": {}, |
|
|
|
".snapshot": {}, // .snapshot for ignoring NetApp based persistent volumes WAFL snapshot
|
|
|
|
"$RECYCLE.BIN": {}, |
|
|
|
"lost+found": {}, // 'lost+found' directory default on ext4 filesystems
|
|
|
|
"System Volume Information": {}, |
|
|
|
"$RECYCLE.BIN": {}, // windows specific directory for each drive (hidden)
|
|
|
|
|
|
|
|
"System Volume Information": {}, // windows specific directory for each drive (hidden)
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func isHiddenDirectories(vols ...VolInfo) bool { |
|
|
|
func isHiddenDirectories(vols ...VolInfo) bool { |
|
|
@ -499,7 +501,7 @@ func formatXLFixDeploymentID(endpoints Endpoints, storageDisks []StorageAPI, ref |
|
|
|
formats, sErrs := loadFormatXLAll(storageDisks, false) |
|
|
|
formats, sErrs := loadFormatXLAll(storageDisks, false) |
|
|
|
for i, sErr := range sErrs { |
|
|
|
for i, sErr := range sErrs { |
|
|
|
if _, ok := formatCriticalErrors[sErr]; ok { |
|
|
|
if _, ok := formatCriticalErrors[sErr]; ok { |
|
|
|
return fmt.Errorf("Disk %s: %w", endpoints[i], sErr) |
|
|
|
return config.ErrCorruptedBackend(err).Hint(fmt.Sprintf("Clear any pre-existing content on %s", endpoints[i])) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|