Skip to content

Commit

Permalink
Use the new walk method for catalog enumeration
Browse files Browse the repository at this point in the history
This change is primarily to make GC faster.

Signed-off-by: Sargun Dhillon <sargun@sargun.me>
  • Loading branch information
sargun committed Jan 18, 2018
1 parent 35b29a6 commit c7b0da2
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 14 deletions.
4 changes: 1 addition & 3 deletions registry/storage/blobstore.go
Expand Up @@ -88,13 +88,12 @@ func (bs *blobStore) Put(ctx context.Context, mediaType string, p []byte) (distr
}

func (bs *blobStore) Enumerate(ctx context.Context, ingester func(dgst digest.Digest) error) error {

specPath, err := pathFor(blobsPathSpec{})
if err != nil {
return err
}

err = Walk(ctx, bs.driver, specPath, func(fileInfo driver.FileInfo) error {
return bs.driver.Walk(ctx, specPath, func(fileInfo driver.FileInfo) error {
// skip directories
if fileInfo.IsDir() {
return nil
Expand All @@ -114,7 +113,6 @@ func (bs *blobStore) Enumerate(ctx context.Context, ingester func(dgst digest.Di

return ingester(digest)
})
return err
}

// path returns the canonical path for the blob identified by digest. The blob
Expand Down
4 changes: 0 additions & 4 deletions registry/storage/catalog.go
Expand Up @@ -10,10 +10,6 @@ import (
"github.com/docker/distribution/registry/storage/driver"
)

// errFinishedWalk signals an early exit to the walk when the current query
// is satisfied.
var errFinishedWalk = errors.New("finished walk")

// Returns a list, or partial list, of repositories in the registry.
// Because it's a quite expensive operation, it should only be used when building up
// an initial set of repositories.
Expand Down
8 changes: 1 addition & 7 deletions registry/storage/linkedblobstore.go
Expand Up @@ -237,7 +237,7 @@ func (lbs *linkedBlobStore) Enumerate(ctx context.Context, ingestor func(digest.
if err != nil {
return err
}
err = Walk(ctx, lbs.blobStore.driver, rootPath, func(fileInfo driver.FileInfo) error {
return lbs.driver.Walk(ctx, rootPath, func(fileInfo driver.FileInfo) error {
// exit early if directory...
if fileInfo.IsDir() {
return nil
Expand Down Expand Up @@ -273,12 +273,6 @@ func (lbs *linkedBlobStore) Enumerate(ctx context.Context, ingestor func(digest.

return nil
})

if err != nil {
return err
}

return nil
}

func (lbs *linkedBlobStore) mount(ctx context.Context, sourceRepo reference.Named, dgst digest.Digest, sourceStat *distribution.Descriptor) (distribution.Descriptor, error) {
Expand Down

0 comments on commit c7b0da2

Please sign in to comment.