diff --git a/src/restic/backend/s3/s3.go b/src/restic/backend/s3/s3.go index 950fe3607..989fff104 100644 --- a/src/restic/backend/s3/s3.go +++ b/src/restic/backend/s3/s3.go @@ -479,8 +479,14 @@ func (be *Backend) Rename(h restic.Handle, l backend.Layout) error { debug.Log(" %v -> %v", oldname, newname) - coreClient := minio.Core{Client: be.client} - err := coreClient.CopyObject(be.cfg.Bucket, newname, path.Join(be.cfg.Bucket, oldname), minio.CopyConditions{}) + src := minio.NewSourceInfo(be.cfg.Bucket, oldname, nil) + + dst, err := minio.NewDestinationInfo(be.cfg.Bucket, newname, nil, nil) + if err != nil { + return errors.Wrap(err, "NewDestinationInfo") + } + + err = be.client.CopyObject(dst, src) if err != nil && be.IsNotExist(err) { debug.Log("copy failed: %v, seems to already have been renamed", err) return nil