change updateVersion to only update keys, no deletes (#12032)

there are situations where metadata can have keys
with empty values, preserve existing behavior
This commit is contained in:
Harshavardhana
2021-04-10 09:13:12 -07:00
committed by GitHub
parent d50193d30f
commit 641150f2a2
3 changed files with 12 additions and 13 deletions

View File

@@ -739,17 +739,9 @@ func (z *xlMetaV2) UpdateObjectVersion(fi FileInfo) error {
if version.ObjectV2.VersionID == uv {
for k, v := range fi.Metadata {
if strings.HasPrefix(strings.ToLower(k), ReservedMetadataPrefixLower) {
if v == "" {
delete(z.Versions[i].ObjectV2.MetaSys, k)
} else {
z.Versions[i].ObjectV2.MetaSys[k] = []byte(v)
}
z.Versions[i].ObjectV2.MetaSys[k] = []byte(v)
} else {
if v == "" {
delete(z.Versions[i].ObjectV2.MetaUser, k)
} else {
z.Versions[i].ObjectV2.MetaUser[k] = v
}
z.Versions[i].ObjectV2.MetaUser[k] = v
}
}
if !fi.ModTime.IsZero() {