summaryrefslogtreecommitdiff
path: root/vendor/github.com/power-devops/perfstat/fsstat.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/power-devops/perfstat/fsstat.go')
-rw-r--r--vendor/github.com/power-devops/perfstat/fsstat.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/vendor/github.com/power-devops/perfstat/fsstat.go b/vendor/github.com/power-devops/perfstat/fsstat.go
new file mode 100644
index 0000000..27f4c06
--- /dev/null
+++ b/vendor/github.com/power-devops/perfstat/fsstat.go
@@ -0,0 +1,31 @@
+// +build aix
+
+package perfstat
+
+/*
+#include "c_helpers.h"
+*/
+import "C"
+
+import (
+ "fmt"
+)
+
+func FileSystemStat() ([]FileSystem, error) {
+ var fsinfo *C.struct_fsinfo
+ var nmounts C.int
+
+ fsinfo = C.get_all_fs(&nmounts)
+ if nmounts <= 0 {
+ return nil, fmt.Errorf("No mounts found")
+ }
+
+ fs := make([]FileSystem, nmounts)
+ for i := 0; i < int(nmounts); i++ {
+ f := C.get_filesystem_stat(fsinfo, C.int(i))
+ if f != nil {
+ fs[i] = fsinfo2filesystem(f)
+ }
+ }
+ return fs, nil
+}