forked from TrueCloudLab/distribution
Merge pull request #1547 from jzwlqx/issue1535
fix manifest revision search, closes #1535
This commit is contained in:
commit
4562cb5a78
1 changed files with 6 additions and 5 deletions
|
@ -384,7 +384,7 @@ var _ distribution.BlobDescriptorService = &linkedBlobStatter{}
|
|||
|
||||
func (lbs *linkedBlobStatter) Stat(ctx context.Context, dgst digest.Digest) (distribution.Descriptor, error) {
|
||||
var (
|
||||
resolveErr error
|
||||
found bool
|
||||
target digest.Digest
|
||||
)
|
||||
|
||||
|
@ -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 {
|
||||
|
|
Loading…
Reference in a new issue