diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2026-01-05 12:25:12 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2026-01-09 12:51:45 +0000 |
| commit | ce25ef79a77633ecbd0042eb35c9432dd582d448 (patch) | |
| tree | 7b34a5c4988d6927e4d468a553ac5a125da4cd00 /pkg/osutil/osutil_linux.go | |
| parent | 56f8805780da7b6cf7aa8b6f104db4b2e1d57d70 (diff) | |
pkg/osutil: add DiskUsage function
DiskUsage returns total recursive disk usage of the dir (similar to du -s).
Diffstat (limited to 'pkg/osutil/osutil_linux.go')
| -rw-r--r-- | pkg/osutil/osutil_linux.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/pkg/osutil/osutil_linux.go b/pkg/osutil/osutil_linux.go index 63743a5f2..50be9b047 100644 --- a/pkg/osutil/osutil_linux.go +++ b/pkg/osutil/osutil_linux.go @@ -5,6 +5,7 @@ package osutil import ( "fmt" + "io/fs" "os" "os/exec" "path/filepath" @@ -150,3 +151,8 @@ func prolongPipe(r, w *os.File) { syscall.Syscall(syscall.SYS_FCNTL, w.Fd(), syscall.F_SETPIPE_SZ, uintptr(sz)) } } + +func sysDiskUsage(info fs.FileInfo) uint64 { + stat := info.Sys().(*syscall.Stat_t) + return uint64(max(0, stat.Size, stat.Blocks*512)) +} |
