server_statvfs_linux.go 497 B

1234567891011121314151617181920212223
  1. //go:build linux
  2. // +build linux
  3. package sftp
  4. import (
  5. "syscall"
  6. )
  7. func statvfsFromStatfst(stat *syscall.Statfs_t) (*StatVFS, error) {
  8. return &StatVFS{
  9. Bsize: uint64(stat.Bsize),
  10. Frsize: uint64(stat.Frsize),
  11. Blocks: stat.Blocks,
  12. Bfree: stat.Bfree,
  13. Bavail: stat.Bavail,
  14. Files: stat.Files,
  15. Ffree: stat.Ffree,
  16. Favail: stat.Ffree, // not sure how to calculate Favail
  17. Flag: uint64(stat.Flags), // assuming POSIX?
  18. Namemax: uint64(stat.Namelen),
  19. }, nil
  20. }