Skip to content

Commit 51bf52c

Browse files
resolved comments
Signed-off-by: Xiaoxuan Wang <[email protected]>
1 parent 40ad281 commit 51bf52c

File tree

2 files changed

+18
-4
lines changed

2 files changed

+18
-4
lines changed

content/oci/oci.go

+6-4
Original file line numberDiff line numberDiff line change
@@ -468,7 +468,9 @@ func (s *Store) reloadIndex(ctx context.Context) error {
468468
return nil
469469
}
470470

471-
// GC removes garbage from Store. The garbage to be cleaned are:
471+
// GC removes garbage from Store. Unsaved index will be lost. To prevent unexpected
472+
// loss, call SaveIndex() before GC or set AutoSaveIndex to true.
473+
// The garbage to be cleaned are:
472474
// - unreferenced (dangling) blobs in Store which have no predecessors
473475
// - garbage blobs in the storage whose metadata is not stored in Store
474476
func (s *Store) GC(ctx context.Context) error {
@@ -498,15 +500,15 @@ func (s *Store) GC(ctx context.Context) error {
498500
continue
499501
}
500502
algPath := path.Join(rootpath, alg)
501-
dgstDirs, err := os.ReadDir(algPath)
503+
digestEntries, err := os.ReadDir(algPath)
502504
if err != nil {
503505
return err
504506
}
505-
for _, dgstDir := range dgstDirs {
507+
for _, digestEntry := range digestEntries {
506508
if err := isContextDone(ctx); err != nil {
507509
return err
508510
}
509-
dgst := dgstDir.Name()
511+
dgst := digestEntry.Name()
510512
blobDigest := digest.NewDigestFromEncoded(digest.Algorithm(alg), dgst)
511513
err := blobDigest.Validate()
512514
// skip irrelevant content

content/oci/oci_test.go

+12
Original file line numberDiff line numberDiff line change
@@ -3057,3 +3057,15 @@ func equalDescriptorSet(actual []ocispec.Descriptor, expected []ocispec.Descript
30573057
}
30583058
return true
30593059
}
3060+
3061+
func Test_isContextDone(t *testing.T) {
3062+
ctx := context.Background()
3063+
ctx, cancel := context.WithCancel(ctx)
3064+
if err := isContextDone(ctx); err != nil {
3065+
t.Errorf("expect error = %v, got %v", nil, err)
3066+
}
3067+
cancel()
3068+
if err := isContextDone(ctx); err != context.Canceled {
3069+
t.Errorf("expect error = %v, got %v", context.Canceled, err)
3070+
}
3071+
}

0 commit comments

Comments
 (0)