From 4a5d364f47afa78e6c5304519859f56fcfaf7c11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niccol=C3=B2=20Maggioni?= Date: Mon, 31 Oct 2016 23:42:05 +0100 Subject: [PATCH] Removal of free disk space indicator Behavior was too erratic on different OSs and architectures. --- disk.go | 18 ---------------- disk_win.go | 48 ------------------------------------------- http.go | 4 +--- public/assets/main.js | 2 -- public/index.html | 7 +------ 5 files changed, 2 insertions(+), 77 deletions(-) delete mode 100644 disk.go delete mode 100644 disk_win.go diff --git a/disk.go b/disk.go deleted file mode 100644 index 5dd4139..0000000 --- a/disk.go +++ /dev/null @@ -1,18 +0,0 @@ -//+build !windows - -package main - -import ( - "os" - "syscall" -) - -func GetAvailableDiskSpace() (uint64, error) { - var stat syscall.Statfs_t - cwd, err := os.Getwd() - if err != nil { - return 0, err - } - syscall.Statfs(cwd, &stat) - return stat.Bavail * uint64(stat.Bsize), nil -} diff --git a/disk_win.go b/disk_win.go deleted file mode 100644 index 66e65ba..0000000 --- a/disk_win.go +++ /dev/null @@ -1,48 +0,0 @@ -//+build windows - -package main - -import ( - "fmt" - "os" - "syscall" - "unsafe" -) - -// https://github.com/StalkR/goircbot/blob/ffd0c37e5d201730e4dac1ed1e013b315acab949/lib/disk/space_windows.go#L13 -func GetAvailableDiskSpace() (uint64, error) { - path, err := os.Getwd() - if err != nil { - fmt.Println(err) - return 0, err - } - kernel32, err := syscall.LoadLibrary("Kernel32.dll") - if err != nil { - fmt.Println(err) - return 0, err - } - defer syscall.FreeLibrary(kernel32) - GetDiskFreeSpaceEx, err := syscall.GetProcAddress(syscall.Handle(kernel32), "GetDiskFreeSpaceExW") - if err != nil { - fmt.Println(err) - return 0, err - } - var freeBytesAvailable int64 - var totalNumberOfBytes int64 - var totalNumberOfFreeBytes int64 - r1, _, e1 := syscall.Syscall6(uintptr(GetDiskFreeSpaceEx), 4, - uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(path))), - uintptr(unsafe.Pointer(&freeBytesAvailable)), - uintptr(unsafe.Pointer(&totalNumberOfBytes)), - uintptr(unsafe.Pointer(&totalNumberOfFreeBytes)), 0, 0) - if r1 == 0 { - if e1 != 0 { - err = error(e1) - return 0, err - } else { - err = syscall.EINVAL - return 0, err - } - } - return uint64(freeBytesAvailable), nil -} diff --git a/http.go b/http.go index ec18641..3eb29df 100644 --- a/http.go +++ b/http.go @@ -18,7 +18,6 @@ type ( BucketsNumber int `json:"bucketsNumber"` KeysNumber int `json:"keysNumber"` DiskUsed int64 `json:"diskUsedBytes"` - DiskFree uint64 `json:"diskFreeBytes"` Keys bucketKeys `json:"keys"` } ) @@ -166,10 +165,9 @@ func serveWebStats(res http.ResponseWriter, req *http.Request, params goat.Param keysNumber, _ := CountKeys() dbFileStats, _ := os.Stat(DBPath) dbSizeBytes := dbFileStats.Size() - diskAvailableBytes, _ := GetAvailableDiskSpace() keys, _ := getAllBucketsAndKeys() - webStats := stats{bucketsNumber, keysNumber, dbSizeBytes, diskAvailableBytes, keys} + webStats := stats{bucketsNumber, keysNumber, dbSizeBytes, keys} setPoweredByHeader(res) goat.WriteJSON(res, webStats) diff --git a/public/assets/main.js b/public/assets/main.js index 4c242ab..43ee645 100644 --- a/public/assets/main.js +++ b/public/assets/main.js @@ -7,8 +7,6 @@ function getStats(wantedBucket) { $('#number-keys').html(stats.keysNumber); $('#disk-space-used').html((stats.diskUsedBytes / 1048576).toFixed(1)); // MB $('#disk-space-used').attr('title', stats.diskUsedBytes + ' bytes'); - $('#disk-space-free').html(stats.diskFreeBytes > 0 ? (stats.diskFreeBytes / 1073741824).toFixed(1) : 'N/A'); // GB - $('#disk-space-free').attr('title', stats.diskFreeBytes > 0 ? stats.diskFreeBytes + ' bytes' : 'Not applicable on this OS'); $('body').loadie(0.50); var bucket, key, i = 0, keyIndex; diff --git a/public/index.html b/public/index.html index a0ba8f7..97856f4 100644 --- a/public/index.html +++ b/public/index.html @@ -51,7 +51,7 @@

Dashboard

-
+
N/A

Buckets

Number of buckets @@ -66,11 +66,6 @@

Keys

Size

Occupied disk space (MB)
-
-
N/A
-

Available

- Available capacity (GB) -