Read-only file system failing in exception while moving instead of copying

Sonarr version (exact version): 4.0.4.1491 (4.0.4.1491-ls238 by linuxserver.io)
Mono version (if Sonarr is not running on Windows): 6.0.13
OS: linux
Debug logs: 2024-05-25 23:29:25.0|Debug|RemotePathMappingService|Remapped remote path [/medi - Pastebin.com
Description of issue: Auto Import files fails and loops; Manual Imports works but all files " get upgraded" in loops while re-enabling auto-imports.

Files are actually being copied into destination folder, but Sonarr " rollback" the whole import and delete all related files.

Context:
sonarr /downloads folder is a NFSb4 mount from a local server, docker user has read only rights.

It seems that:

  • Read only system impact over network breaks media analysis (having other impact like re-importing everything due to upgrade even if files are the same)

  • Move strategy is used instead of Copying while using Auto Import in Completed Download Handling

System.IO.IOException: Read-only file system : ‘/downloads/shows/Altered.Carbon.S02.1080p.NF.WEB.DDP5.1.Atmos.x264-NTb[rartv]/Altered.Carbon.S02E08.1080p.NF.WEBRip.DDP5.1.x264-NTb.mkv’
at System.IO.FileSystem.DeleteFile(String fullPath)
at System.IO.FileSystem.MoveFile(String sourceFullPath, String destFullPath, Boolean overwrite)
at System.IO.File.Move(String sourceFileName, String destFileName, Boolean overwrite)
at NzbDrone.Mono.Disk.DiskProvider.TransferFilePatched(String source, String destination, Boolean overwrite, Boolean move) in ./Sonarr.Mono/Disk/DiskProvider.cs:line 352
at NzbDrone.Common.Disk.DiskProviderBase.MoveFile(String source, String destination, Boolean overwrite) in ./Sonarr.Common/Disk/DiskProviderBase.cs:line 250
at NzbDrone.Common.Disk.DiskTransferService.TryMoveFileVerified(String sourcePath, String targetPath, Int64 originalSize) in ./Sonarr.Common/Disk/DiskTransferService.cs:line 510
at NzbDrone.Common.Disk.DiskTransferService.TransferFile(String sourcePath, String targetPath, TransferMode mode, Boolean overwrite) in ./Sonarr.Common/Disk/DiskTransferService.cs:line 296
at NzbDrone.Core.MediaFiles.EpisodeFileMovingService.TransferFile(EpisodeFile episodeFile, Series series, List1 episodes, String destinationFilePath, TransferMode mode, LocalEpisode localEpisode) in ./Sonarr.Core/MediaFiles/EpisodeFileMovingService.cs:line 170 at NzbDrone.Core.MediaFiles.EpisodeFileMovingService.MoveEpisodeFile(EpisodeFile episodeFile, LocalEpisode localEpisode) in ./Sonarr.Core/MediaFiles/EpisodeFileMovingService.cs:line 81 at NzbDrone.Core.MediaFiles.UpgradeMediaFileService.UpgradeEpisodeFile(EpisodeFile episodeFile, LocalEpisode localEpisode, Boolean copyOnly) in ./Sonarr.Core/MediaFiles/UpgradeMediaFileService.cs:line 80 at NzbDrone.Core.MediaFiles.EpisodeImport.ImportApprovedEpisodes.Import(List1 decisions, Boolean newDownload, DownloadClientItem downloadClientItem, ImportMode importMode) in ./Sonarr.Core/MediaFiles/EpisodeImport/ImportApprovedEpisodes.cs:line 158

ls -l:

ls -l /volume3/docker/media/remote/downloads/shows/Altered.Carbon.S02.1080p.NF.WEB.DDP5.1.Atmos.x264-NTb[rartv]/Altered.Carbon.S02E08.1080p.NF.WEBRip.DDP5.1.x264-NTb.mkv
-rw-r–r-- 1 1001 1001 5293573116 May 24 03:20 ‘/volume3/docker/media/remote/downloads/shows/Altered.Carbon.S02.1080p.NF.WEB.DDP5.1.Atmos.x264-NTb[rartv]/Altered.Carbon.S02E08.1080p.NF.WEBRip.DDP5.1.x264-NTb.mkv’

PS: radarr seems to works fine, using same user/path/setup :confused: