@@ -4,21 +4,17 @@ import (
44 "fmt"
55 "os"
66 "path/filepath"
7- "regexp"
87 "sort"
98 "strconv"
109 "strings"
1110 "syscall"
1211 "time"
13-
14- "gopkg.in/ini.v1"
15-
1612 "unbalance/daemon/domain"
1713 "unbalance/daemon/lib"
1814 "unbalance/daemon/logger"
19- )
2015
21- var regStrip = regexp .MustCompile ("[0-9 ]" )
16+ "gopkg.in/ini.v1"
17+ )
2218
2319func (c * Core ) sanityCheck () error {
2420 locations := []string {"/var/local/emhttp" }
@@ -81,10 +77,6 @@ func (c *Core) refreshUnraid() *domain.Unraid {
8177 return newunraid
8278}
8379
84- func stripSpacesAndNumbers (input string ) string {
85- return regStrip .ReplaceAllString (input , "" )
86- }
87-
8880func getArrayData () (* domain.Unraid , error ) {
8981 unraid := & domain.Unraid {}
9082
@@ -125,6 +117,7 @@ func getArrayData() (*domain.Unraid, error) {
125117 // get free/size data
126118 free := make (map [string ]uint64 )
127119 size := make (map [string ]uint64 )
120+ mounts := make (map [string ]bool )
128121
129122 // err = lib.Shell("df --block-size=1 /mnt/*", mlog.Warning, "Refresh error:", "", func(line string) {
130123 // data := strings.Fields(line)
@@ -136,6 +129,7 @@ func getArrayData() (*domain.Unraid, error) {
136129 data := strings .Fields (line )
137130 size [data [5 ]], _ = strconv .ParseUint (data [1 ], 10 , 64 )
138131 free [data [5 ]], _ = strconv .ParseUint (data [3 ], 10 , 64 )
132+ mounts [data [5 ]] = true
139133 })
140134 if err != nil {
141135 return nil , fmt .Errorf ("unable to get free/size data: %w" , err )
@@ -166,12 +160,11 @@ func getArrayData() (*domain.Unraid, error) {
166160 continue
167161 }
168162
169- name := stripSpacesAndNumbers (diskName )
170- if pools [name ] {
163+ if _ , ok := mounts ["/mnt/" + diskName ]; ! ok {
171164 continue
172165 }
173166
174- pools [name ] = true
167+ pools [diskName ] = true
175168 }
176169
177170 for _ , section := range file .Sections () {
0 commit comments