diff --git a/cmd/bucket-replication.go b/cmd/bucket-replication.go index e6d3db98a..29e934386 100644 --- a/cmd/bucket-replication.go +++ b/cmd/bucket-replication.go @@ -425,7 +425,7 @@ func replicateDelete(ctx context.Context, dobj DeletedObjectReplicationInfo, obj wg.Add(1) go func(index int, tgt *TargetClient) { defer wg.Done() - rinfo := replicateDeleteToTarget(ctx, dobj, objectAPI, tgt) + rinfo := replicateDeleteToTarget(ctx, dobj, tgt) rinfos.Targets[index] = rinfo }(idx, tgt) } @@ -482,7 +482,7 @@ func replicateDelete(ctx context.Context, dobj DeletedObjectReplicationInfo, obj } } -func replicateDeleteToTarget(ctx context.Context, dobj DeletedObjectReplicationInfo, objectAPI ObjectLayer, tgt *TargetClient) (rinfo replicatedTargetInfo) { +func replicateDeleteToTarget(ctx context.Context, dobj DeletedObjectReplicationInfo, tgt *TargetClient) (rinfo replicatedTargetInfo) { versionID := dobj.DeleteMarkerVersionID if versionID == "" { versionID = dobj.VersionID diff --git a/cmd/erasure-object.go b/cmd/erasure-object.go index 71fb01f21..5f3ae0566 100644 --- a/cmd/erasure-object.go +++ b/cmd/erasure-object.go @@ -493,11 +493,6 @@ func (er erasureObjects) getObjectInfo(ctx context.Context, bucket, object strin return objInfo, toObjectErr(err, bucket, object) } objInfo = fi.ToObjectInfo(bucket, object) - if opts.VersionID != "" && !fi.VersionPurgeStatus().Empty() { - // Make sure to return object info to provide extra information. - return objInfo, toObjectErr(errMethodNotAllowed, bucket, object) - } - if fi.Deleted { if opts.VersionID == "" || opts.DeleteMarker { return objInfo, toObjectErr(errFileNotFound, bucket, object) diff --git a/cmd/xl-storage-format-v2.go b/cmd/xl-storage-format-v2.go index 6d4a4b7d3..2e5ea3d0c 100644 --- a/cmd/xl-storage-format-v2.go +++ b/cmd/xl-storage-format-v2.go @@ -595,6 +595,7 @@ func (j xlMetaV2Object) ToFileInfo(volume, path string) (FileInfo, error) { } } fi.ReplicationState = getInternalReplicationState(fi.Metadata) + fi.Deleted = !fi.VersionPurgeStatus().Empty() replStatus := fi.ReplicationState.CompositeReplicationStatus() if replStatus != "" { fi.Metadata[xhttp.AmzBucketReplicationStatus] = string(replStatus) @@ -1281,7 +1282,7 @@ func (x *xlMetaV2) DeleteVersion(fi FileInfo) (string, error) { ver.ObjectV2.MetaSys[k] = []byte(v) } err = x.setIdx(i, *ver) - return "", err + return uuid.UUID(ver.ObjectV2.DataDir).String(), err } } }