12345678910111213141516171819202122 |
- package sftp
- import (
- "syscall"
- )
- func statvfsFromStatfst(stat *syscall.Statfs_t) (*StatVFS, error) {
- return &StatVFS{
- Bsize: uint64(stat.Bsize),
- Frsize: uint64(stat.Bsize), // fragment size is a linux thing; use block size here
- Blocks: stat.Blocks,
- Bfree: stat.Bfree,
- Bavail: stat.Bavail,
- Files: stat.Files,
- Ffree: stat.Ffree,
- Favail: stat.Ffree, // not sure how to calculate Favail
- Fsid: uint64(uint64(stat.Fsid.Val[1])<<32 | uint64(stat.Fsid.Val[0])), // endianness?
- Flag: uint64(stat.Flags), // assuming POSIX?
- Namemax: 1024, // man 2 statfs shows: #define MAXPATHLEN 1024
- }, nil
- }
|