XL/PutObject: Calculate size if not provided by the client and update xl.json with the correct size. (#1844)

This commit is contained in:
Krishna Srinivas
2016-06-03 05:39:47 +05:30
committed by Harshavardhana
parent fb95c1fad3
commit b00ac40c35
3 changed files with 14 additions and 9 deletions
+4 -2
View File
@@ -296,11 +296,13 @@ func (xl xlObjects) PutObject(bucket string, object string, size int64, data io.
}
// Erasure code and write across all disks.
newEInfos, err := erasureCreateFile(onlineDisks, minioMetaBucket, tempErasureObj, "object1", teeReader, eInfos)
newEInfos, n, err := erasureCreateFile(onlineDisks, minioMetaBucket, tempErasureObj, "object1", teeReader, eInfos)
if err != nil {
return "", toObjectErr(err, minioMetaBucket, tempErasureObj)
}
if size == -1 {
size = n
}
// Save additional erasureMetadata.
modTime := time.Now().UTC()