in upload/metadata/metaData.go [116:150]
func CompareMetaData(remote, local *MetaData) []error {
var metadataErrors = make([]error, 0)
if !bytes.Equal(remote.FileMetaData.MD5Hash, local.FileMetaData.MD5Hash) {
metadataErrors = append(metadataErrors,
fmt.Errorf("MD5 hash of VHD file in Azure blob storage (%v) and local VHD file (%v) does not match",
base64.StdEncoding.EncodeToString(remote.FileMetaData.MD5Hash),
base64.StdEncoding.EncodeToString(local.FileMetaData.MD5Hash)))
}
if remote.FileMetaData.VHDSize != local.FileMetaData.VHDSize {
metadataErrors = append(metadataErrors,
fmt.Errorf("Logical size of the VHD file in Azure blob storage (%d) and local VHD file (%d) does not match",
remote.FileMetaData.VHDSize, local.FileMetaData.VHDSize))
}
if remote.FileMetaData.FileSize != local.FileMetaData.FileSize {
metadataErrors = append(metadataErrors,
fmt.Errorf("Size of the VHD file in Azure blob storage (%d) and local VHD file (%d) does not match",
remote.FileMetaData.FileSize, local.FileMetaData.FileSize))
}
if remote.FileMetaData.LastModifiedTime != local.FileMetaData.LastModifiedTime {
metadataErrors = append(metadataErrors,
fmt.Errorf("Last modified time of the VHD file in Azure blob storage (%v) and local VHD file (%v) does not match",
remote.FileMetaData.LastModifiedTime, local.FileMetaData.LastModifiedTime))
}
if remote.FileMetaData.FileName != local.FileMetaData.FileName {
metadataErrors = append(metadataErrors,
fmt.Errorf("Full name of the VHD file in Azure blob storage (%s) and local VHD file (%s) does not match",
remote.FileMetaData.FileName, local.FileMetaData.FileName))
}
return metadataErrors
}