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

@@ -366,7 +366,7 @@ func TestJSONSave(t *testing.T) {
t.Fatal(err)
}
if fi1.Size() != fi2.Size() {
t.Fatal("Size should not differ after jsonSave()", fi1.Size(), fi2.Size(), f.Name())
t.Fatal("Size should not differs after jsonSave()", fi1.Size(), fi2.Size(), f.Name())
}
}
@@ -473,14 +473,14 @@ func TestGetMinioMode(t *testing.T) {
t.Fatalf("Expected %s got %s", expected, mode)
}
}
globalIsDistXL = true
testMinioMode(globalMinioModeDistXL)
globalIsDistErasure = true
testMinioMode(globalMinioModeDistErasure)
globalIsDistXL = false
globalIsXL = true
testMinioMode(globalMinioModeXL)
globalIsDistErasure = false
globalIsErasure = true
testMinioMode(globalMinioModeErasure)
globalIsDistXL, globalIsXL = false, false
globalIsDistErasure, globalIsErasure = false, false
testMinioMode(globalMinioModeFS)
globalIsGateway, globalGatewayName = true, "azure"