fix possible crashes on deleteMarker replication (#11308)

Delete marker can have `metaSys` set to nil, that
can lead to crashes after the delete marker has
been healed.

Additionally also fix isObjectDangling check
for transitioned objects, that do not have parts
should be treated similar to Delete marker.
This commit is contained in:
Harshavardhana
2021-01-20 13:12:12 -08:00
committed by GitHub
parent dac19d7272
commit d1a8f0b786
4 changed files with 33 additions and 28 deletions

View File

@@ -182,10 +182,6 @@ func (m *xlMetaV1Object) ToFileInfo(volume, path string) (FileInfo, error) {
if !m.valid() {
return FileInfo{}, errFileCorrupt
}
var transitionStatus string
if st, ok := m.Meta[ReservedMetadataPrefixLower+"transition-status"]; ok {
transitionStatus = st
}
fi := FileInfo{
Volume: volume,
Name: path,
@@ -197,8 +193,8 @@ func (m *xlMetaV1Object) ToFileInfo(volume, path string) (FileInfo, error) {
VersionID: m.VersionID,
DataDir: m.DataDir,
}
if transitionStatus != "" {
fi.TransitionStatus = transitionStatus
if st, ok := m.Meta[ReservedMetadataPrefixLower+"transition-status"]; ok {
fi.TransitionStatus = st
}
return fi, nil
}