diff options
Diffstat (limited to 'pkg/driver')
| -rw-r--r-- | pkg/driver/mounter_seaweedfs.go | 3 | ||||
| -rw-r--r-- | pkg/driver/utils.go | 8 |
2 files changed, 11 insertions, 0 deletions
diff --git a/pkg/driver/mounter_seaweedfs.go b/pkg/driver/mounter_seaweedfs.go index 0fc4281..12142af 100644 --- a/pkg/driver/mounter_seaweedfs.go +++ b/pkg/driver/mounter_seaweedfs.go @@ -106,6 +106,9 @@ func (seaweedFs *seaweedFsMounter) Mount(target string) (Unmounter, error) { dataLocality = dataLocalityRes } } + if err := CheckDataLocality(&dataLocality, &seaweedFs.driver.DataCenter); err != nil { + return nil, err + } // Settings based on type switch(dataLocality){ case datalocality.Write_preferLocalDc: diff --git a/pkg/driver/utils.go b/pkg/driver/utils.go index b629543..e103079 100644 --- a/pkg/driver/utils.go +++ b/pkg/driver/utils.go @@ -8,6 +8,7 @@ import ( "sync" "github.com/container-storage-interface/spec/lib/go/csi" + "github.com/seaweedfs/seaweedfs-csi-driver/pkg/datalocality" "github.com/seaweedfs/seaweedfs/weed/glog" "golang.org/x/net/context" "google.golang.org/grpc" @@ -121,3 +122,10 @@ func (km *KeyMutex) GetMutex(key string) *sync.Mutex { func (km *KeyMutex) RemoveMutex(key string) { km.mutexes.Delete(key) } + +func CheckDataLocality(dataLocality *datalocality.DataLocality, dataCenter *string) error { + if(*dataLocality != datalocality.None && *dataCenter == ""){ + return fmt.Errorf("dataLocality set, but not all locality-definitions were set") + } + return nil +} |
