From cdd44a2830a198487b56d60435d665642d7ade31 Mon Sep 17 00:00:00 2001 From: Deluan Date: Fri, 30 Oct 2020 09:39:36 -0400 Subject: [PATCH] Abort scan when media folder is empty This is to prevent all data being deleted in the case where a mount is not available --- scanner/tag_scanner.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scanner/tag_scanner.go b/scanner/tag_scanner.go index 96cb07c8..9d878b32 100644 --- a/scanner/tag_scanner.go +++ b/scanner/tag_scanner.go @@ -98,6 +98,12 @@ func (s *TagScanner) Scan(ctx context.Context, lastModifiedSince time.Time) erro } } + // If the media folder is empty, abort to avoid deleting all data + if len(allFSDirs) <= 1 { + log.Error(ctx, "Media Folder is empty. Aborting scan.", "folder", s.rootFolder) + return nil + } + deletedDirs := s.getDeletedDirs(ctx, allFSDirs, allDBDirs) if len(deletedDirs)+len(changedDirs) == 0 { log.Debug(ctx, "No changes found in Music Folder", "folder", s.rootFolder)