1234567891011121314151617181920212223 |
- package internal
- import (
- "unsafe"
- "github.com/cilium/ebpf/internal/unix"
- )
- func FSType(path string) (int64, error) {
- var statfs unix.Statfs_t
- if err := unix.Statfs(path, &statfs); err != nil {
- return 0, err
- }
- fsType := int64(statfs.Type)
- if unsafe.Sizeof(statfs.Type) == 4 {
- // We're on a 32 bit arch, where statfs.Type is int32. bpfFSType is a
- // negative number when interpreted as int32 so we need to cast via
- // uint32 to avoid sign extension.
- fsType = int64(uint32(statfs.Type))
- }
- return fsType, nil
- }
|