Support bucket versioning (#9377)

- Implement a new xl.json 2.0.0 format to support,
  this moves the entire marshaling logic to POSIX
  layer, top layer always consumes a common FileInfo
  construct which simplifies the metadata reads.
- Implement list object versions
- Migrate to siphash from crchash for new deployments
  for object placements.

Fixes #2111
This commit is contained in:
Harshavardhana
2020-06-12 20:04:01 -07:00
committed by GitHub
parent 43d6e3ae06
commit 4915433bd2
203 changed files with 13833 additions and 6919 deletions

View File

@@ -26,11 +26,11 @@ const (
// FSSetupType - FS setup type enum.
FSSetupType
// XLSetupType - XL setup type enum.
XLSetupType
// ErasureSetupType - Erasure setup type enum.
ErasureSetupType
// DistXLSetupType - Distributed XL setup type enum.
DistXLSetupType
// DistErasureSetupType - Distributed Erasure setup type enum.
DistErasureSetupType
// GatewaySetupType - gateway setup type enum.
GatewaySetupType
@@ -40,10 +40,10 @@ func (setupType SetupType) String() string {
switch setupType {
case FSSetupType:
return globalMinioModeFS
case XLSetupType:
return globalMinioModeXL
case DistXLSetupType:
return globalMinioModeDistXL
case ErasureSetupType:
return globalMinioModeErasure
case DistErasureSetupType:
return globalMinioModeDistErasure
case GatewaySetupType:
return globalMinioModeGatewayPrefix
}