Skip to content

Commit 1369112

Browse files
author
Maksym Pavlenko
authored
Merge pull request containerd#10287 from ktock/transfer-push-dup
Transfer: Push: fix failure on pushing duplicated blobs
2 parents 5d6a94a + 0e8cc91 commit 1369112

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

core/transfer/local/push.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,13 @@ func (p *progressPusher) WrapHandler(h images.Handler) images.Handler {
158158
func (p *progressPusher) Push(ctx context.Context, d ocispec.Descriptor) (content.Writer, error) {
159159
ref := remotes.MakeRefKey(ctx, d)
160160
p.status.add(ref, d)
161-
cw, err := p.Pusher.Push(ctx, d)
161+
var cw content.Writer
162+
var err error
163+
if cs, ok := p.Pusher.(content.Ingester); ok {
164+
cw, err = content.OpenWriter(ctx, cs, content.WithRef(ref), content.WithDescriptor(d))
165+
} else {
166+
cw, err = p.Pusher.Push(ctx, d)
167+
}
162168
if err != nil {
163169
if errdefs.IsAlreadyExists(err) {
164170
p.progress.MarkExists(d)

0 commit comments

Comments
 (0)