aboutsummaryrefslogtreecommitdiff
path: root/weed/stats/disk_solaris.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/stats/disk_solaris.go')
-rw-r--r--weed/stats/disk_solaris.go24
1 files changed, 24 insertions, 0 deletions
diff --git a/weed/stats/disk_solaris.go b/weed/stats/disk_solaris.go
new file mode 100644
index 000000000..cce20e4cc
--- /dev/null
+++ b/weed/stats/disk_solaris.go
@@ -0,0 +1,24 @@
+//go:build solaris
+// +build solaris
+
+package stats
+
+import (
+ "golang.org/x/sys/unix"
+
+ "github.com/seaweedfs/seaweedfs/weed/pb/volume_server_pb"
+)
+
+func fillInDiskStatus(disk *volume_server_pb.DiskStatus) {
+ var stat unix.Statvfs_t
+ err := unix.Statvfs(disk.Dir, &stat)
+ if err != nil {
+ return
+ }
+
+ disk.All = stat.Blocks * uint64(stat.Bsize)
+ disk.Free = stat.Bfree * uint64(stat.Bsize)
+ calculateDiskRemaining(disk)
+
+ return
+}