From 3b5dff3f34b53a9f710ea6fc4154626ec1af50d8 Mon Sep 17 00:00:00 2001 From: Ruslan Yevdokymov <38809160+ruslanye@users.noreply.github.com> Date: Wed, 30 Oct 2019 16:11:07 +0100 Subject: [PATCH] lib/model: Fix removal of a marker when there are still folders referencing it (#6114) --- lib/model/model.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/model/model.go b/lib/model/model.go index 2aaf87c6..41d666a1 100644 --- a/lib/model/model.go +++ b/lib/model/model.go @@ -389,8 +389,17 @@ func (m *model) RemoveFolder(cfg config.FolderConfiguration) { m.fmut.Lock() defer m.fmut.Unlock() - // Delete syncthing specific files - cfg.Filesystem().RemoveAll(config.DefaultMarkerName) + isPathUnique := true + for folderID, folderCfg := range m.folderCfgs { + if folderID != cfg.ID && folderCfg.Path == cfg.Path { + isPathUnique = false + break + } + } + if isPathUnique { + // Delete syncthing specific files + cfg.Filesystem().RemoveAll(config.DefaultMarkerName) + } m.tearDownFolderLocked(cfg, fmt.Errorf("removing folder %v", cfg.Description())) // Remove it from the database