]> Cypherpunks.ru repositories - goredo.git/commitdiff
Use more efficient ReadDir instead of Readdir
authorSergey Matveev <stargrave@stargrave.org>
Sun, 4 Jun 2023 08:24:38 +0000 (11:24 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sun, 4 Jun 2023 08:24:38 +0000 (11:24 +0300)
cleanup.go
depfix.go
targets.go

index bdd295dd3ee6689f8ed93af330f4f30b7de1303a..d0b508d44201a7645717f77192b653cd5f4f30ef 100644 (file)
@@ -55,7 +55,7 @@ func redoDirClean(root, what string) error {
        }
        defer dir.Close()
        for {
-               fis, err := dir.Readdir(1 << 10)
+               entries, err := dir.ReadDir(1 << 10)
                if err != nil {
                        if err == io.EOF {
                                break
@@ -63,12 +63,12 @@ func redoDirClean(root, what string) error {
                        return err
                }
                var pth string
-               for _, fi := range fis {
-                       pth = cwdMustRel(root, fi.Name())
+               for _, entry := range entries {
+                       pth = cwdMustRel(root, entry.Name())
                        switch what {
                        case CleanupLog:
-                               if strings.HasSuffix(fi.Name(), LogSuffix) ||
-                                       strings.HasSuffix(fi.Name(), LogRecSuffix) {
+                               if strings.HasSuffix(entry.Name(), LogSuffix) ||
+                                       strings.HasSuffix(entry.Name(), LogRecSuffix) {
                                        fmt.Println(pth)
                                        if !*DryRun {
                                                if err = os.Remove(pth); err != nil {
@@ -77,7 +77,7 @@ func redoDirClean(root, what string) error {
                                        }
                                }
                        case CleanupLock:
-                               if strings.HasSuffix(fi.Name(), LockSuffix) {
+                               if strings.HasSuffix(entry.Name(), LockSuffix) {
                                        fmt.Println(pth)
                                        if !*DryRun {
                                                if err = os.Remove(pth); err != nil {
@@ -86,7 +86,7 @@ func redoDirClean(root, what string) error {
                                        }
                                }
                        case CleanupTmp:
-                               if strings.HasPrefix(fi.Name(), TmpPrefix) {
+                               if strings.HasPrefix(entry.Name(), TmpPrefix) {
                                        fmt.Println(pth)
                                        if !*DryRun {
                                                if err = os.Remove(pth); err != nil {
@@ -113,18 +113,18 @@ func cleanupWalker(root, what string) error {
        }
        defer dir.Close()
        for {
-               fis, err := dir.Readdir(1 << 10)
+               entries, err := dir.ReadDir(1 << 10)
                if err != nil {
                        if err == io.EOF {
                                break
                        }
                        return err
                }
-               for _, fi := range fis {
-                       pth := path.Join(root, fi.Name())
-                       pthRel := cwdMustRel(root, fi.Name())
-                       if fi.IsDir() {
-                               if fi.Name() == RedoDir {
+               for _, entry := range entries {
+                       pth := path.Join(root, entry.Name())
+                       pthRel := cwdMustRel(root, entry.Name())
+                       if entry.IsDir() {
+                               if entry.Name() == RedoDir {
                                        if what == CleanupFull {
                                                fmt.Println(pthRel)
                                                if !*DryRun {
@@ -134,7 +134,7 @@ func cleanupWalker(root, what string) error {
                                                err = redoDirClean(pth, what)
                                        }
                                } else if (what == CleanupTmp || what == CleanupFull) &&
-                                       strings.HasPrefix(fi.Name(), TmpPrefix) {
+                                       strings.HasPrefix(entry.Name(), TmpPrefix) {
                                        fmt.Println(pthRel)
                                        if !*DryRun {
                                                err = os.RemoveAll(pth)
@@ -148,7 +148,7 @@ func cleanupWalker(root, what string) error {
                                continue
                        }
                        if (what == CleanupTmp || what == CleanupFull) &&
-                               strings.HasPrefix(fi.Name(), TmpPrefix) {
+                               strings.HasPrefix(entry.Name(), TmpPrefix) {
                                fmt.Println(pthRel)
                                if !*DryRun {
                                        if err = os.Remove(pth); err != nil {
index 289e16cdfc7d4c2e294c1e95e60199104ec37414..7ce7cb68b8d1cb9c3348b45dc1bf33d3036211f0 100644 (file)
--- a/depfix.go
+++ b/depfix.go
@@ -35,16 +35,16 @@ func depFix(root string) error {
        }
        defer dir.Close()
        for {
-               fis, err := dir.Readdir(1 << 10)
+               entries, err := dir.ReadDir(1 << 10)
                if err != nil {
                        if err == io.EOF {
                                break
                        }
                        return err
                }
-               for _, fi := range fis {
-                       if fi.IsDir() {
-                               if err = depFix(path.Join(root, fi.Name())); err != nil {
+               for _, entry := range entries {
+                       if entry.IsDir() {
+                               if err = depFix(path.Join(root, entry.Name())); err != nil {
                                        return err
                                }
                        }
@@ -63,19 +63,19 @@ func depFix(root string) error {
        defer dir.Close()
        redoDirChanged := false
        for {
-               fis, err := dir.Readdir(1 << 10)
+               entries, err := dir.ReadDir(1 << 10)
                if err != nil {
                        if err == io.EOF {
                                break
                        }
                        return err
                }
-               for _, fi := range fis {
-                       if !strings.HasSuffix(fi.Name(), DepSuffix) {
+               for _, entry := range entries {
+                       if !strings.HasSuffix(entry.Name(), DepSuffix) {
                                continue
                        }
-                       tracef(CDebug, "depfix: checking %s/%s", root, fi.Name())
-                       fdDepPath := path.Join(redoDir, fi.Name())
+                       tracef(CDebug, "depfix: checking %s/%s", root, entry.Name())
+                       fdDepPath := path.Join(redoDir, entry.Name())
                        fdDep, err := os.Open(fdDepPath)
                        if err != nil {
                                return err
@@ -104,7 +104,7 @@ func depFix(root string) error {
                                if dep == "" {
                                        return ErrMissingTarget
                                }
-                               tracef(CDebug, "depfix: checking %s/%s -> %s", root, fi.Name(), dep)
+                               tracef(CDebug, "depfix: checking %s/%s -> %s", root, entry.Name(), dep)
                                theirInode, err := inodeFromRec(m)
                                if err != nil {
                                        return err
@@ -115,7 +115,7 @@ func depFix(root string) error {
                                        if os.IsNotExist(err) {
                                                tracef(
                                                        CDebug, "depfix: %s/%s -> %s: not exists",
-                                                       root, fi.Name(), dep,
+                                                       root, entry.Name(), dep,
                                                )
                                                continue
                                        }
@@ -129,7 +129,7 @@ func depFix(root string) error {
                                if inode.Size != theirInode.Size {
                                        tracef(
                                                CDebug, "depfix: %s/%s -> %s: size differs",
-                                               root, fi.Name(), dep,
+                                               root, entry.Name(), dep,
                                        )
                                        fd.Close()
                                        continue
@@ -137,7 +137,7 @@ func depFix(root string) error {
                                if inode.Equals(theirInode) {
                                        tracef(
                                                CDebug, "depfix: %s/%s -> %s: inode is equal",
-                                               root, fi.Name(), dep,
+                                               root, entry.Name(), dep,
                                        )
                                        fd.Close()
                                        continue
@@ -150,7 +150,7 @@ func depFix(root string) error {
                                if hsh != theirHsh {
                                        tracef(
                                                CDebug, "depfix: %s/%s -> %s: hash differs",
-                                               root, fi.Name(), dep,
+                                               root, entry.Name(), dep,
                                        )
                                        continue
                                }
@@ -163,7 +163,7 @@ func depFix(root string) error {
                                fieldses[len(fieldses)-1] = fields
                                tracef(
                                        CDebug, "depfix: %s/%s -> %s: inode updated",
-                                       root, fi.Name(), dep,
+                                       root, entry.Name(), dep,
                                )
                                depChanged = true
                        }
@@ -172,14 +172,14 @@ func depFix(root string) error {
                                continue
                        }
                        redoDirChanged = true
-                       fdDep, err = tempfile(redoDir, fi.Name())
+                       fdDep, err = tempfile(redoDir, entry.Name())
                        if err != nil {
                                return err
                        }
                        defer fdDep.Close()
                        tracef(
                                CDebug, "depfix: %s/%s: tmp %s",
-                               root, fi.Name(), fdDep.Name(),
+                               root, entry.Name(), fdDep.Name(),
                        )
                        w := recfile.NewWriter(fdDep)
                        if _, err := w.WriteFields(fieldses[0]...); err != nil {
index 5d2342e884ea68f6ac537b85b4dda1b29fcf73c4..dca27f4e7880626a383b56852942f5435e890997 100644 (file)
@@ -36,30 +36,30 @@ func targetsCollect(root string, tgts map[string]struct{}) error {
        }
        defer dir.Close()
        for {
-               fis, err := dir.Readdir(1 << 10)
+               entries, err := dir.ReadDir(1 << 10)
                if err != nil {
                        if err == io.EOF {
                                break
                        }
                        return err
                }
-               for _, fi := range fis {
-                       if !fi.IsDir() {
+               for _, entry := range entries {
+                       if !entry.IsDir() {
                                continue
                        }
-                       pth := path.Join(root, fi.Name())
-                       if fi.Name() == RedoDir {
+                       pth := path.Join(root, entry.Name())
+                       if entry.Name() == RedoDir {
                                redoDir, err := os.Open(pth)
                                if err != nil {
                                        return err
                                }
-                               redoFis, err := redoDir.Readdir(0)
+                               redoEntries, err := redoDir.ReadDir(0)
                                redoDir.Close()
                                if err != nil {
                                        return err
                                }
-                               for _, redoFi := range redoFis {
-                                       name := redoFi.Name()
+                               for _, redoEntry := range redoEntries {
+                                       name := redoEntry.Name()
                                        if strings.HasSuffix(name, DepSuffix) {
                                                name = cwdMustRel(root, name)
                                                tgts[name[:len(name)-len(DepSuffix)]] = struct{}{}