From 09c2bfadd2f01dc595ff31355fbb335f2308280b Mon Sep 17 00:00:00 2001 From: Lantao Liu Date: Fri, 13 Oct 2017 05:17:43 +0000 Subject: [PATCH] Reduce image pull race. Signed-off-by: Lantao Liu --- client.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/client.go b/client.go index 6033f32c7..a7abd63de 100644 --- a/client.go +++ b/client.go @@ -250,19 +250,19 @@ func (c *Client) Pull(ctx context.Context, ref string, opts ...RemoteOpt) (Image } is := c.ImageService() - if updated, err := is.Update(ctx, imgrec, "target"); err != nil { - if !errdefs.IsNotFound(err) { + if created, err := is.Create(ctx, imgrec); err != nil { + if !errdefs.IsAlreadyExists(err) { return nil, err } - created, err := is.Create(ctx, imgrec) + updated, err := is.Update(ctx, imgrec) if err != nil { return nil, err } - imgrec = created - } else { imgrec = updated + } else { + imgrec = created } img := &image{