mirror of
				https://github.com/minio/minio.git
				synced 2025-10-31 16:21:49 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ### 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"`
 | |
| }
 | |
| ```
 |