You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.9 KiB
55 lines
1.9 KiB
7 years ago
|
### Backend format `xl.json`
|
||
|
|
||
|
```go
|
||
|
// objectPartInfo Info of each part kept in the multipart metadata
|
||
|
// file after CompleteMultipartUpload() is called.
|
||
|
type objectPartInfo struct {
|
||
|
Number int `json:"number"`
|
||
|
Name string `json:"name"`
|
||
|
ETag string `json:"etag"`
|
||
|
Size int64 `json:"size"`
|
||
|
}
|
||
|
|
||
|
// checkSumInfo - carries checksums of individual scattered parts per disk.
|
||
|
type checkSumInfo struct {
|
||
|
Name string `json:"name"`
|
||
|
Algorithm string `json:"algorithm"`
|
||
|
Hash string `json:"hash"`
|
||
|
}
|
||
|
|
||
|
// erasureInfo - carries erasure coding related information, block
|
||
|
// distribution and checksums.
|
||
|
type erasureInfo struct {
|
||
|
Algorithm string `json:"algorithm"`
|
||
|
DataBlocks int `json:"data"`
|
||
|
ParityBlocks int `json:"parity"`
|
||
|
BlockSize int64 `json:"blockSize"`
|
||
|
Index int `json:"index"`
|
||
|
Distribution []int `json:"distribution"`
|
||
|
Checksum []checkSumInfo `json:"checksum,omitempty"`
|
||
|
}
|
||
|
|
||
|
// statInfo - carries stat information of the object.
|
||
|
type statInfo struct {
|
||
|
Size int64 `json:"size"` // Size of the object `xl.json`.
|
||
|
ModTime time.Time `json:"modTime"` // ModTime of the object `xl.json`.
|
||
|
}
|
||
|
|
||
|
// A xlMetaV1 represents `xl.json` metadata header.
|
||
|
type xlMetaV1 struct {
|
||
|
Version string `json:"version"` // Version of the current `xl.json`.
|
||
|
Format string `json:"format"` // Format of the current `xl.json`.
|
||
|
Stat statInfo `json:"stat"` // Stat of the current object `xl.json`.
|
||
|
// Erasure coded info for the current object `xl.json`.
|
||
|
Erasure erasureInfo `json:"erasure"`
|
||
|
// Minio release tag for current object `xl.json`.
|
||
|
Minio struct {
|
||
|
Release string `json:"release"`
|
||
|
} `json:"minio"`
|
||
|
// Metadata map for current object `xl.json`.
|
||
|
Meta map[string]string `json:"meta,omitempty"`
|
||
|
// Captures all the individual object `xl.json`.
|
||
|
Parts []objectPartInfo `json:"parts,omitempty"`
|
||
|
}
|
||
|
```
|