From eecb4900a918f503fa10f552b17deeedced10e15 Mon Sep 17 00:00:00 2001 From: Xiaoxuan Wang Date: Mon, 11 Dec 2023 14:39:50 +0800 Subject: [PATCH] resolved some comments Signed-off-by: Xiaoxuan Wang --- content/oci/oci.go | 16 ++++++++-------- internal/graph/memory.go | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/content/oci/oci.go b/content/oci/oci.go index e6c5263f8..16f01f7dc 100644 --- a/content/oci/oci.go +++ b/content/oci/oci.go @@ -158,7 +158,7 @@ func (s *Store) Delete(ctx context.Context, target ocispec.Descriptor) error { defer s.sync.Unlock() // delete one node - danglings, err := s.deleteNode(ctx, target) + danglings, err := s.delete(ctx, target) if err != nil { return err } @@ -170,8 +170,8 @@ func (s *Store) Delete(ctx context.Context, target ocispec.Descriptor) error { return nil } -// deleteNode deletes one node and returns the dangling nodes created by the delete. -func (s *Store) deleteNode(ctx context.Context, target ocispec.Descriptor) ([]ocispec.Descriptor, error) { +// delete deletes one node and returns the dangling nodes created by the delete. +func (s *Store) delete(ctx context.Context, target ocispec.Descriptor) ([]ocispec.Descriptor, error) { resolvers := s.tagResolver.Map() untagged := false for reference, desc := range resolvers { @@ -196,17 +196,17 @@ func (s *Store) deleteNode(ctx context.Context, target ocispec.Descriptor) ([]oc func (s *Store) autoGCInDelete(ctx context.Context, danglings []ocispec.Descriptor) error { // for each item in dangling, if it exists and it is dangling, remove it and // add new dangling nodes into dangling - i := 0 - for i < len(danglings) { - node := danglings[i] + + for len(danglings) > 0 { + node := danglings[0] + danglings = danglings[1:] if s.graph.IsDanglingNode(node) { - descs, err := s.deleteNode(ctx, node) + descs, err := s.delete(ctx, node) if err != nil { return err } danglings = append(danglings, descs...) } - i++ } return nil } diff --git a/internal/graph/memory.go b/internal/graph/memory.go index 2b6b5cbc1..c0a0e87b0 100644 --- a/internal/graph/memory.go +++ b/internal/graph/memory.go @@ -118,13 +118,13 @@ func (m *Memory) Predecessors(_ context.Context, node ocispec.Descriptor) ([]oci } // Remove removes the node from its predecessors and successors, and returns the -// dangling nodes caused by the deletion. +// dangling root nodes caused by the deletion. func (m *Memory) Remove(node ocispec.Descriptor) []ocispec.Descriptor { m.lock.Lock() defer m.lock.Unlock() nodeKey := descriptor.FromOCI(node) - danglings := []ocispec.Descriptor{} + var danglings []ocispec.Descriptor // remove the node from its successors' predecessor list for successorKey := range m.successors[nodeKey] { predecessorEntry := m.predecessors[successorKey]