aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/pkg/pkg.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/pkg/pkg.go')
-rw-r--r--internal/pkg/pkg.go23
1 files changed, 16 insertions, 7 deletions
diff --git a/internal/pkg/pkg.go b/internal/pkg/pkg.go
index 262ff667..d98b3753 100644
--- a/internal/pkg/pkg.go
+++ b/internal/pkg/pkg.go
@@ -1107,19 +1107,28 @@ func (c *Cache) Scrub(checks int) error {
got := p.Get().(*Checksum)
defer p.Put(got)
- if _, err := os.Stat(c.base.Append(
+ var ok bool
+ for _, name := range [...]string{
dirIdentifier,
- ent.Name(),
- ).String()); err != nil {
- if !errors.Is(err, os.ErrNotExist) {
- addErr(dir.Append(ent.Name()), err)
+ dirSubstitute,
+ } {
+ if _, err := os.Stat(c.base.Append(
+ name,
+ ent.Name(),
+ ).String()); err != nil {
+ if !errors.Is(err, os.ErrNotExist) {
+ addErr(dir.Append(ent.Name()), err)
+ }
+ continue
}
+ ok = true
+ }
+ if !ok {
seMu.Lock()
se.DanglingStatus = append(se.DanglingStatus, *want)
seMu.Unlock()
- return false
}
- return true
+ return ok
}}
}
wg.Wait()