From c1fe3fb740f24d02a0827587df45ef80fabbf883 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Wed, 31 May 2023 13:55:04 +0200 Subject: [PATCH] Shaman GC: better logging for file deletion errors When the Shaman GC process cannot remove files, log a message that explains that this happens (and why). --- pkg/shaman/cleanup.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkg/shaman/cleanup.go b/pkg/shaman/cleanup.go index 059a98be..e9eaeb5c 100644 --- a/pkg/shaman/cleanup.go +++ b/pkg/shaman/cleanup.go @@ -248,7 +248,13 @@ func (s *Server) gcDeleteOldFiles(doDryRun bool, oldFiles mtimeMap, logger zerol pathLogger.Info().Msg("would delete unused file") } else { pathLogger.Info().Msg("deleting unused file") - if err := s.fileStore.RemoveStoredFile(path); err == nil { + err := s.fileStore.RemoveStoredFile(path) + switch { + case errors.Is(err, fs.ErrNotExist): + pathLogger.Debug().Msg("shaman: unused file disappeared before we could remove it during GC run") + case err != nil: + pathLogger.Error().Err(err).Msg("shaman: unable to delete unused file during GC run") + default: deletedFiles++ } }