diff --git a/collector/filesystem_freebsd.go b/collector/filesystem_freebsd.go index 8fceba70..f37029e0 100644 --- a/collector/filesystem_freebsd.go +++ b/collector/filesystem_freebsd.go @@ -16,9 +16,6 @@ package collector import ( - "bytes" - "unsafe" - "github.com/go-kit/kit/log/level" "golang.org/x/sys/unix" ) @@ -30,15 +27,6 @@ const ( noWait = 0x2 // MNT_NOWAIT ) -func gostring(b []int8) string { - bb := *(*[]byte)(unsafe.Pointer(&b)) - idx := bytes.IndexByte(bb, 0) - if idx < 0 { - return "" - } - return string(bb[:idx]) -} - // Expose filesystem fullness. func (c *filesystemCollector) GetStats() ([]filesystemStats, error) { n, err := unix.Getfsstat(nil, noWait) @@ -52,14 +40,14 @@ func (c *filesystemCollector) GetStats() ([]filesystemStats, error) { } stats := []filesystemStats{} for _, fs := range buf { - mountpoint := gostring(fs.Mntonname[:]) + mountpoint := string(fs.Mntonname[:]) if c.ignoredMountPointsPattern.MatchString(mountpoint) { level.Debug(c.logger).Log("msg", "Ignoring mount point", "mountpoint", mountpoint) continue } - device := gostring(fs.Mntfromname[:]) - fstype := gostring(fs.Fstypename[:]) + device := string(fs.Mntfromname[:]) + fstype := string(fs.Fstypename[:]) if c.ignoredFSTypesPattern.MatchString(fstype) { level.Debug(c.logger).Log("msg", "Ignoring fs type", "type", fstype) continue