//go:build !windows package recovery import "syscall" // availableBytesOfFilesystem liefert den freien Platz eines vorhandenen Pfades. func availableBytesOfFilesystem(existingPath string) (int64, error) { var filesystemStatistics syscall.Statfs_t if statfsError := syscall.Statfs(existingPath, &filesystemStatistics); statfsError != nil { return 0, statfsError } // Bavail ist der fuer nicht privilegierte Nutzer verfuegbare Platz und // damit der ehrlichere Wert als Bfree, das reservierte Bloecke mitzaehlt. // //nolint:unconvert // Bavail ist je nach Plattform unterschiedlich breit. return int64(filesystemStatistics.Bavail) * int64(filesystemStatistics.Bsize), nil }