xl: Simplify reading metadata and add a new fileMetadata type. (#1346)

This commit is contained in:
Harshavardhana
2016-04-21 15:33:26 -07:00
committed by Harshavardhana
parent f3784d1087
commit 9bd9441107
6 changed files with 195 additions and 154 deletions
+5 -5
View File
@@ -55,9 +55,9 @@ func (xl XL) getReadableDisks(volume, path string) ([]StorageAPI, int64, error)
fileSize := int64(0)
for index, metadata := range partsMetadata {
if errs[index] == nil {
if versionStr, ok := metadata["file.version"]; ok {
if version := metadata.Get("file.version"); version != nil {
// Convert string to integer.
version, err := strconv.ParseInt(versionStr, 10, 64)
version, err := strconv.ParseInt(version[0], 10, 64)
if err != nil {
// Unexpected, return error.
return nil, 0, err
@@ -91,15 +91,15 @@ func (xl XL) getReadableDisks(volume, path string) ([]StorageAPI, int64, error)
if disk == nil {
continue
}
if sizeStr, ok := partsMetadata[index]["file.size"]; ok {
if size := partsMetadata[index].Get("file.size"); size != nil {
var err error
fileSize, err = strconv.ParseInt(sizeStr, 10, 64)
fileSize, err = strconv.ParseInt(size[0], 10, 64)
if err != nil {
return nil, 0, err
}
break
} else {
return nil, 0, errors.New("Missing 'file.size' in meta data.")
return nil, 0, errFileSize
}
}
return quorumDisks, fileSize, nil