mirror of
https://github.com/minio/minio.git
synced 2025-11-23 19:17:43 -05:00
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:
36
docs/bucket/versioning/xl-meta-to-json.go
Normal file
36
docs/bucket/versioning/xl-meta-to-json.go
Normal file
@@ -0,0 +1,36 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"io"
|
||||
"os"
|
||||
|
||||
"github.com/minio/cli"
|
||||
"github.com/tinylib/msgp/msgp"
|
||||
)
|
||||
|
||||
func main() {
|
||||
app := cli.NewApp()
|
||||
app.Copyright = "MinIO, Inc."
|
||||
app.Usage = "xl.meta to JSON"
|
||||
app.Version = "0.0.1"
|
||||
app.HideHelpCommand = true
|
||||
|
||||
app.Flags = []cli.Flag{
|
||||
cli.StringFlag{
|
||||
Usage: "path to xl.meta file",
|
||||
Name: "f, file",
|
||||
},
|
||||
}
|
||||
|
||||
app.Action = func(c *cli.Context) error {
|
||||
r, err := os.Open(c.String("file"))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
r.Seek(8, io.SeekStart)
|
||||
defer r.Close()
|
||||
_, err = msgp.CopyToJSON(os.Stdout, r)
|
||||
return err
|
||||
}
|
||||
app.Run(os.Args)
|
||||
}
|
||||
Reference in New Issue
Block a user