lib/model: Don't reset db while folder is running (fixes #7935) (#7936)

This commit is contained in:
Simon Frei
2021-09-11 17:14:47 +02:00
committed by GitHub
parent de719ac409
commit 721cd740d8
3 changed files with 56 additions and 8 deletions
+9 -2
View File
@@ -72,7 +72,7 @@ type Model interface {
connections.Model
ResetFolder(folder string)
ResetFolder(folder string) error
DelayScan(folder string, next time.Duration)
ScanFolder(folder string) error
ScanFolders() map[string]error
@@ -2764,9 +2764,16 @@ func (m *model) BringToFront(folder, file string) {
}
}
func (m *model) ResetFolder(folder string) {
func (m *model) ResetFolder(folder string) error {
m.fmut.RLock()
defer m.fmut.RUnlock()
_, ok := m.folderRunners[folder]
if ok {
return errors.New("folder must be paused when resetting")
}
l.Infof("Cleaning metadata for reset folder %q", folder)
db.DropFolder(m.db, folder)
return nil
}
func (m *model) String() string {