From 8b7b0a03ebc733e75ea6743af3d60b8d8d504325 Mon Sep 17 00:00:00 2001 From: Jakob Borg Date: Mon, 9 May 2016 11:30:19 +0000 Subject: [PATCH] lib/config: Don't require restart when adding folders/devices or changing listen address The VersioningConfig change is because it defaults to nil but gets deserialized to map[string]string{}. Now prepare() enforces a single representation of the empty map. GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3065 --- lib/config/folderconfiguration.go | 4 ++++ lib/model/model.go | 1 + 2 files changed, 5 insertions(+) diff --git a/lib/config/folderconfiguration.go b/lib/config/folderconfiguration.go index 07d4670a..4b85d870 100644 --- a/lib/config/folderconfiguration.go +++ b/lib/config/folderconfiguration.go @@ -138,6 +138,10 @@ func (f *FolderConfiguration) prepare() { } else if f.RescanIntervalS < 0 { f.RescanIntervalS = 0 } + + if f.Versioning.Params == nil { + f.Versioning.Params = make(map[string]string) + } } func (f *FolderConfiguration) cleanedPath() string { diff --git a/lib/model/model.go b/lib/model/model.go index ab5e2b6a..0caef68a 100644 --- a/lib/model/model.go +++ b/lib/model/model.go @@ -2018,6 +2018,7 @@ func (m *Model) CommitConfiguration(from, to config.Configuration) bool { // by themselves. from.Options.URAccepted = to.Options.URAccepted from.Options.URUniqueID = to.Options.URUniqueID + from.Options.ListenAddresses = to.Options.ListenAddresses // All of the other generic options require restart. Or at least they may; // removing this check requires going through those options carefully and // making sure there are individual services that handle them correctly.