diff options
Diffstat (limited to 'weed/filer2/configuration.go')
| -rw-r--r-- | weed/filer2/configuration.go | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/weed/filer2/configuration.go b/weed/filer2/configuration.go index 14a9edd2c..a174117ea 100644 --- a/weed/filer2/configuration.go +++ b/weed/filer2/configuration.go @@ -13,10 +13,11 @@ var ( func (f *Filer) LoadConfiguration(config *viper.Viper) { + validateOneEnabledStore(config) + for _, store := range Stores { if config.GetBool(store.GetName() + ".enabled") { - viperSub := config.Sub(store.GetName()) - if err := store.Initialize(viperSub); err != nil { + if err := store.Initialize(config, store.GetName()+"."); err != nil { glog.Fatalf("Failed to initialize store for %s: %+v", store.GetName(), err) } @@ -34,3 +35,16 @@ func (f *Filer) LoadConfiguration(config *viper.Viper) { os.Exit(-1) } + +func validateOneEnabledStore(config *viper.Viper) { + enabledStore := "" + for _, store := range Stores { + if config.GetBool(store.GetName() + ".enabled") { + if enabledStore == "" { + enabledStore = store.GetName() + } else { + glog.Fatalf("Filer store is enabled for both %s and %s", enabledStore, store.GetName()) + } + } + } +} |
