mirror of
				https://github.com/k3s-io/kubernetes.git
				synced 2025-10-31 05:40:42 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			22 lines
		
	
	
		
			793 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			793 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| 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
 | |
| }
 |