aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/osutil/osutil_linux.go
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2026-01-05 12:25:12 +0100
committerDmitry Vyukov <dvyukov@google.com>2026-01-09 12:51:45 +0000
commitce25ef79a77633ecbd0042eb35c9432dd582d448 (patch)
tree7b34a5c4988d6927e4d468a553ac5a125da4cd00 /pkg/osutil/osutil_linux.go
parent56f8805780da7b6cf7aa8b6f104db4b2e1d57d70 (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.go6
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))
+}