From 591f51c72e11a133f56468cf6ad4eb3b52669147 Mon Sep 17 00:00:00 2001 From: Joe Turgeon Date: Sun, 18 Dec 2016 17:39:46 -0600 Subject: [PATCH] Adding check for uploaded status in b2.Load() and b2.Test(). --- src/restic/backend/b2/b2.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/restic/backend/b2/b2.go b/src/restic/backend/b2/b2.go index f83ba73b5..048f67424 100644 --- a/src/restic/backend/b2/b2.go +++ b/src/restic/backend/b2/b2.go @@ -72,8 +72,9 @@ func (be b2) Load(h restic.Handle, p []byte, off int64) (n int, err error) { return 0, errors.Wrap(err, "bucket.Object") } + // Ensure object attributes are loaded and status is uploaded. info, err := obj.Attrs(be.context) - if err != nil { + if err != nil || info == nil || info.Status != blazerb2.Uploaded { return 0, errors.Wrap(err, "obj.Attrs") } @@ -185,8 +186,8 @@ func (be *b2) Test(t restic.FileType, name string) (bool, error) { found := false objName := be.b2path(t, name) obj := be.bucket.Object(objName) - _, err := obj.Attrs(be.context) - if err == nil { + info, err := obj.Attrs(be.context) + if err == nil && info != nil && info.Status == blazerb2.Uploaded { found = true } return found, nil