| 1234567891011121314151617181920212223242526272829 | 
							- //go:build linux
 
- // +build linux
 
- package vfs
 
- import (
 
- 	"github.com/pkg/sftp"
 
- 	"golang.org/x/sys/unix"
 
- )
 
- func getStatFS(path string) (*sftp.StatVFS, error) {
 
- 	stat := unix.Statfs_t{}
 
- 	err := unix.Statfs(path, &stat)
 
- 	if err != nil {
 
- 		return nil, err
 
- 	}
 
- 	return &sftp.StatVFS{
 
- 		Bsize:   uint64(stat.Bsize),
 
- 		Frsize:  uint64(stat.Frsize),
 
- 		Blocks:  stat.Blocks,
 
- 		Bfree:   stat.Bfree,
 
- 		Bavail:  stat.Bavail,
 
- 		Files:   stat.Files,
 
- 		Ffree:   stat.Ffree,
 
- 		Favail:  stat.Ffree, // not sure how to calculate Favail
 
- 		Flag:    uint64(stat.Flags),
 
- 		Namemax: uint64(stat.Namelen),
 
- 	}, nil
 
- }
 
 
  |