Merge pull request #1547 from jzwlqx/issue1535

fix manifest revision search, closes #1535
pull/1554/head
Richard Scothern 2016-03-21 16:01:16 -07:00
commit 4562cb5a78
1 changed files with 6 additions and 5 deletions

View File

@ -384,8 +384,8 @@ var _ distribution.BlobDescriptorService = &linkedBlobStatter{}
func (lbs *linkedBlobStatter) Stat(ctx context.Context, dgst digest.Digest) (distribution.Descriptor, error) {
var (
resolveErr error
target digest.Digest
found bool
target digest.Digest
)
// try the many link path functions until we get success or an error that
@ -395,19 +395,20 @@ func (lbs *linkedBlobStatter) Stat(ctx context.Context, dgst digest.Digest) (dis
target, err = lbs.resolveWithLinkFunc(ctx, dgst, linkPathFn)
if err == nil {
found = true
break // success!
}
switch err := err.(type) {
case driver.PathNotFoundError:
resolveErr = distribution.ErrBlobUnknown // move to the next linkPathFn, saving the error
// do nothing, just move to the next linkPathFn
default:
return distribution.Descriptor{}, err
}
}
if resolveErr != nil {
return distribution.Descriptor{}, resolveErr
if !found {
return distribution.Descriptor{}, distribution.ErrBlobUnknown
}
if target != dgst {