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
+6 -5
View File
@@ -61,8 +61,8 @@ const (
globalNetBSDOSName = "netbsd"
globalMacOSName = "darwin"
globalMinioModeFS = "mode-server-fs"
globalMinioModeXL = "mode-server-xl"
globalMinioModeDistXL = "mode-server-distributed-xl"
globalMinioModeErasure = "mode-server-xl"
globalMinioModeDistErasure = "mode-server-distributed-xl"
globalMinioModeGatewayPrefix = "mode-gateway-"
// Add new global values here.
@@ -107,13 +107,13 @@ var globalCLIContext = struct {
var (
// Indicates set drive count.
globalXLSetDriveCount int
globalErasureSetDriveCount int
// Indicates if the running minio server is distributed setup.
globalIsDistXL = false
globalIsDistErasure = false
// Indicates if the running minio server is an erasure-code backend.
globalIsXL = false
globalIsErasure = false
// Indicates if the running minio is in gateway mode.
globalIsGateway = false
@@ -215,6 +215,7 @@ var (
globalBucketObjectLockSys *BucketObjectLockSys
globalBucketQuotaSys *BucketQuotaSys
globalBucketVersioningSys *BucketVersioningSys
// Disk cache drives
globalCacheConfig cache.Config