Skip to content

Commit f123008

Browse files
removed storage changes
Signed-off-by: Xiaoxuan Wang <[email protected]>
1 parent cd7c686 commit f123008

File tree

2 files changed

+17
-17
lines changed

2 files changed

+17
-17
lines changed

content/oci/oci.go

+14-9
Original file line numberDiff line numberDiff line change
@@ -485,17 +485,22 @@ func (s *Store) GC(ctx context.Context) error {
485485
return err
486486
}
487487
// skip the directories
488-
if !info.IsDir() {
489-
alg := filepath.Base(filepath.Dir(path))
490-
blobDigest, err := digest.Parse(fmt.Sprintf("%s:%s", alg, info.Name()))
488+
if info.IsDir() {
489+
return nil
490+
}
491+
alg := filepath.Base(filepath.Dir(path))
492+
blobDigest, err := digest.Parse(fmt.Sprintf("%s:%s", alg, info.Name()))
493+
if err != nil {
494+
return err
495+
}
496+
if exists := s.graph.Exists(blobDigest); !exists {
497+
// remove the blob from storage if it does not exist in Store
498+
err = os.Remove(path)
491499
if err != nil {
492-
return err
493-
}
494-
if exists := s.graph.Exists(blobDigest); !exists {
495-
// remove the blob from storage if it does not exist in Store
496-
if err := s.storage.deleteByDigest(ctx, blobDigest); err != nil {
497-
return err
500+
if errors.Is(err, fs.ErrNotExist) {
501+
return fmt.Errorf("%s: %w", blobDigest, errdef.ErrNotFound)
498502
}
503+
return err
499504
}
500505
}
501506
return nil

content/oci/storage.go

+3-8
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ import (
2525
"path/filepath"
2626
"sync"
2727

28-
"github.com/opencontainers/go-digest"
2928
ocispec "github.com/opencontainers/image-spec/specs-go/v1"
3029
"oras.land/oras-go/v2/errdef"
3130
"oras.land/oras-go/v2/internal/ioutil"
@@ -110,19 +109,15 @@ func (s *Storage) Push(_ context.Context, expected ocispec.Descriptor, content i
110109

111110
// Delete removes the target from the system.
112111
func (s *Storage) Delete(ctx context.Context, target ocispec.Descriptor) error {
113-
return s.deleteByDigest(ctx, target.Digest)
114-
}
115-
116-
func (s *Storage) deleteByDigest(ctx context.Context, digest digest.Digest) error {
117-
path, err := blobPath(digest)
112+
path, err := blobPath(target.Digest)
118113
if err != nil {
119-
return fmt.Errorf("%s: %w", digest, errdef.ErrInvalidDigest)
114+
return fmt.Errorf("%s: %s: %w", target.Digest, target.MediaType, errdef.ErrInvalidDigest)
120115
}
121116
targetPath := filepath.Join(s.root, path)
122117
err = os.Remove(targetPath)
123118
if err != nil {
124119
if errors.Is(err, fs.ErrNotExist) {
125-
return fmt.Errorf("%s: %w", digest, errdef.ErrNotFound)
120+
return fmt.Errorf("%s: %s: %w", target.Digest, target.MediaType, errdef.ErrNotFound)
126121
}
127122
return err
128123
}

0 commit comments

Comments
 (0)