Skip to content

Commit cca9bd3

Browse files
committed
Replace godirwalk with os.ReadDir from standard library
The godirwalk library was faster than the standard library when it was introduced. Let's switch to os.ReadDir and avoid the extra unnecessary library. Signed-off-by: Davanum Srinivas <davanum@gmail.com>
1 parent 947b271 commit cca9bd3

File tree

5 files changed

+3
-16
lines changed

5 files changed

+3
-16
lines changed

cmd/go.mod

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,6 @@ require (
8989
github.com/jcmturner/gofork v1.7.6 // indirect
9090
github.com/jcmturner/gokrb5/v8 v8.4.4 // indirect
9191
github.com/jcmturner/rpc/v2 v2.0.3 // indirect
92-
github.com/karrick/godirwalk v1.17.0 // indirect
9392
github.com/klauspost/compress v1.18.0 // indirect
9493
github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible // indirect
9594
github.com/moby/docker-image-spec v1.3.1 // indirect

cmd/go.sum

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,8 +174,6 @@ github.com/jcmturner/gokrb5/v8 v8.4.4 h1:x1Sv4HaTpepFkXbt2IkL29DXRf8sOfZXo8eRKh6
174174
github.com/jcmturner/gokrb5/v8 v8.4.4/go.mod h1:1btQEpgT6k+unzCwX1KdWMEwPPkkgBtP+F6aCACiMrs=
175175
github.com/jcmturner/rpc/v2 v2.0.3 h1:7FXXj8Ti1IaVFpSAziCZWNzbNuZmnvw/i6CqLNdWfZY=
176176
github.com/jcmturner/rpc/v2 v2.0.3/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJki3ELg/Hc=
177-
github.com/karrick/godirwalk v1.17.0 h1:b4kY7nqDdioR/6qnbHQyDvmA17u5G1cZ6J+CZXwSWoI=
178-
github.com/karrick/godirwalk v1.17.0/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk=
179177
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
180178
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
181179
github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo=

container/common/helpers.go

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ import (
2727
"strings"
2828
"time"
2929

30-
"github.com/karrick/godirwalk"
3130
"github.com/opencontainers/cgroups"
3231
"golang.org/x/sys/unix"
3332

@@ -303,16 +302,11 @@ func readUInt64(dirpath string, file string) uint64 {
303302

304303
// Lists all directories under "path" and outputs the results as children of "parent".
305304
func ListDirectories(dirpath string, parent string, recursive bool, output map[string]struct{}) error {
306-
buf := make([]byte, godirwalk.MinimumScratchBufferSize)
307-
return listDirectories(dirpath, parent, recursive, output, buf)
308-
}
309-
310-
func listDirectories(dirpath string, parent string, recursive bool, output map[string]struct{}, buf []byte) error {
311-
dirents, err := godirwalk.ReadDirents(dirpath, buf)
305+
dirents, err := os.ReadDir(dirpath)
312306
if err != nil {
313307
// Ignore if this hierarchy does not exist.
314308
if errors.Is(err, fs.ErrNotExist) {
315-
err = nil
309+
return nil
316310
}
317311
return err
318312
}
@@ -328,8 +322,7 @@ func listDirectories(dirpath string, parent string, recursive bool, output map[s
328322

329323
// List subcontainers if asked to.
330324
if recursive {
331-
err := listDirectories(path.Join(dirpath, dirname), name, true, output, buf)
332-
if err != nil {
325+
if err := ListDirectories(path.Join(dirpath, dirname), name, true, output); err != nil {
333326
return err
334327
}
335328
}

go.mod

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ require (
1919
github.com/docker/go-connections v0.6.0
2020
github.com/docker/go-units v0.5.0
2121
github.com/euank/go-kmsg-parser v2.0.0+incompatible
22-
github.com/karrick/godirwalk v1.17.0
2322
github.com/mistifyio/go-zfs v2.1.1+incompatible
2423
github.com/moby/sys/mountinfo v0.7.2
2524
github.com/opencontainers/cgroups v0.0.6

go.sum

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,6 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
8787
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
8888
github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 h1:bkypFPDjIYGfCYD5mRBvpqxfYX1YCS1PXdKYWi8FsN0=
8989
github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0/go.mod h1:P+Lt/0by1T8bfcF3z737NnSbmxQAppXMRziHUxPOC8k=
90-
github.com/karrick/godirwalk v1.17.0 h1:b4kY7nqDdioR/6qnbHQyDvmA17u5G1cZ6J+CZXwSWoI=
91-
github.com/karrick/godirwalk v1.17.0/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk=
9290
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
9391
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
9492
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=

0 commit comments

Comments
 (0)