fs: Handle cases of PutObject for an existing prefix. (#1478)

This commit is contained in:
Harshavardhana
2016-05-04 12:18:40 -07:00
parent da3a53376c
commit dd417e5476
4 changed files with 25 additions and 9 deletions
+6 -3
View File
@@ -138,14 +138,14 @@ func putObjectCommon(storage StorageAPI, bucket string, object string, size int6
if clErr := safeCloseAndRemove(fileWriter); clErr != nil {
return "", clErr
}
return "", toObjectErr(err)
return "", toObjectErr(err, bucket, object)
}
} else {
if _, err = io.Copy(multiWriter, data); err != nil {
if clErr := safeCloseAndRemove(fileWriter); clErr != nil {
return "", clErr
}
return "", err
return "", toObjectErr(err, bucket, object)
}
}
@@ -169,7 +169,10 @@ func putObjectCommon(storage StorageAPI, bucket string, object string, size int6
}
err = storage.RenameFile(minioMetaBucket, tempObj, bucket, object)
if err != nil {
return "", err
if derr := storage.DeleteFile(minioMetaBucket, tempObj); derr != nil {
return "", derr
}
return "", toObjectErr(err, bucket, object)
}
// Return md5sum, successfully wrote object.