Manual import Copy don't use hardlinks?

Sonarr version (exact version): 2.0.0.5338
Mono version (if Sonarr is not running on Windows): 5.10.1.57
OS: FreeNAS
Debug logs:
Description of issue:
I read here that using copy in manual import should use the hardlink settings but it seems that it doesn’t. Manually imported using copy alternative last night with a episode stuck at 100% but now auto importing. This is the result from the readlink command:

root@Katrinelund:/mnt/Katrinelund_2/Downloads/Series/Hanna/S01 # readlink -f Hanna.S01E05.NORDIC.720p.WEB-DL.H.264-WEEDPOT.mkv
/mnt/Katrinelund_2/Downloads/Series/Hanna/S01/Hanna.S01E05.NORDIC.720p.WEB-DL.H.264-WEEDPOT.mkv

Running in debug I see the following error

19-12-17 10:00:01.8|Debug|EpisodeFileMovingService|Hardlinking episode file: /mnt/Unsorted Series/Doom.Patrol.S01.NORDiC.720p.WEBRip.DDP5.1.x264-DBRETAiL/Doom.Patrol.S01E06.NORDiC.720p.WEBRip.DDP5.1.x264-DBRETAiL.mkv to /mnt/Series/Doom Patrol/S01/Doom.Patrol.S01E06.NORDiC.720p.WEBRip.DDP5.1.x264-DBRETAiL.mkv
19-12-17 10:00:01.8|Debug|DiskTransferService|HardLinkOrCopy [/mnt/Unsorted Series/Doom.Patrol.S01.NORDiC.720p.WEBRip.DDP5.1.x264-DBRETAiL/Doom.Patrol.S01E06.NORDiC.720p.WEBRip.DDP5.1.x264-DBRETAiL.mkv] > [/mnt/Series/Doom Patrol/S01/Doom.Patrol.S01E06.NORDiC.720p.WEBRip.DDP5.1.x264-DBRETAiL.mkv]
19-12-17 10:00:01.8|Debug|DiskProvider|Hardlink '/mnt/Unsorted Series/Doom.Patrol.S01.NORDiC.720p.WEBRip.DDP5.1.x264-DBRETAiL/Doom.Patrol.S01E06.NORDiC.720p.WEBRip.DDP5.1.x264-DBRETAiL.mkv' to '/mnt/Series/Doom Patrol/S01/Doom.Patrol.S01E06.NORDiC.720p.WEBRip.DDP5.1.x264-DBRETAiL.mkv' failed.

[v2.0.0.5338] Mono.Unix.UnixIOException: Cross-device link [EXDEV].
  at Mono.Unix.UnixMarshal.ThrowExceptionForLastError () [0x00000] in /wrkdirs/usr/ports/lang/mono/work/mono-5.10.1.57/mcs/class/Mono.Posix/Mono.Unix/UnixMarshal.cs:478 
  at Mono.Unix.UnixMarshal.ThrowExceptionForLastErrorIf (System.Int32 retval) [0x00004] in /wrkdirs/usr/ports/lang/mono/work/mono-5.10.1.57/mcs/class/Mono.Posix/Mono.Unix/UnixMarshal.cs:491 
  at Mono.Unix.UnixFileSystemInfo.CreateLink (System.String path) [0x0000c] in /wrkdirs/usr/ports/lang/mono/work/mono-5.10.1.57/mcs/class/Mono.Posix/Mono.Unix/UnixFileSystemInfo.cs:278 
  at NzbDrone.Mono.Disk.DiskProvider.TryCreateHardLink (System.String source, System.String destination) [0x00013] in M:\BuildAgent\work\5d7581516c0ee5b3\src\NzbDrone.Mono\Disk\DiskProvider.cs:182 

19-12-17 10:00:01.8|Debug|DiskProvider|Unable to get free space for '/', unable to find suitable drive
19-12-17 10:00:01.8|Debug|Api|[GET] /api/diskspace: 200.OK (278 ms)
19-12-17 10:00:02.0|Debug|Api|[GET] /api/wanted/missing: 200.OK (16 ms)
19-12-17 10:00:02.8|Debug|Api|[GET] /api/wanted/missing?pageSize=246: 200.OK (620 ms)
19-12-17 10:00:03.2|Debug|Api|[GET] /api/calendar?start=2019-12-17&end=2019-12-19: 200.OK (20 ms)
19-12-17 10:00:04.0|Debug|Api|[GET] /api/health: 200.OK (1 ms)
19-12-17 10:00:04.0|Debug|Api|[GET] /api/health: 200.OK (4 ms)
19-12-17 10:00:04.1|Debug|DiskProvider|Unable to get free space for '/', unable to find suitable drive
19-12-17 10:00:04.1|Debug|Api|[GET] /api/diskspace: 200.OK (45 ms)
19-12-17 10:00:04.4|Debug|DiskProvider|Unable to get free space for '/', unable to find suitable drive
19-12-17 10:00:04.4|Debug|Api|[GET] /api/diskspace: 200.OK (282 ms)
19-12-17 10:00:05.4|Debug|Api|[GET] /api/log?page=1&pageSize=50&sortKey=time&sortDir=desc: 200.OK (207 ms)
19-12-17 10:00:05.4|Debug|Api|[GET] /api/log?page=1&pageSize=50&sortKey=time&sortDir=desc: 200.OK (2 ms)
19-12-17 10:00:10.7|Debug|Api|[GET] /api/log?page=1&pageSize=50&sortKey=time&sortDir=desc: 200.OK (2 ms)
19-12-17 10:00:11.6|Debug|Api|[GET] /api/log?page=1&pageSize=50&sortKey=time&sortDir=desc: 200.OK (2 ms)
19-12-17 10:00:12.2|Debug|Api|[GET] /api/log?page=1&pageSize=50&sortKey=time&sortDir=desc: 200.OK (2 ms)
19-12-17 10:00:12.7|Debug|Api|[GET] /api/log?page=1&pageSize=50&sortKey=time&sortDir=desc: 200.OK (2 ms)
19-12-17 10:00:13.1|Debug|Api|[GET] /api/log?page=1&pageSize=50&sortKey=time&sortDir=desc: 200.OK (3 ms)
19-12-17 10:00:13.6|Debug|Api|[GET] /api/log?page=1&pageSize=50&sortKey=time&sortDir=desc: 200.OK (2 ms)
19-12-17 10:00:13.8|Debug|Api|[GET] /api/log?page=1&pageSize=50&sortKey=time&sortDir=desc: 200.OK (2 ms)
19-12-17 10:00:13.9|Debug|Api|[GET] /api/log?page=1&pageSize=50&sortKey=time&sortDir=desc: 200.OK (3 ms)
19-12-17 10:00:14.1|Debug|Api|[GET] /api/log?page=1&pageSize=50&sortKey=time&sortDir=desc: 200.OK (2 ms)
19-12-17 10:00:14.4|Debug|Api|[GET] /api/log?page=1&pageSize=50&sortKey=time&sortDir=desc: 200.OK (3 ms)
19-12-17 10:00:14.6|Debug|Api|[GET] /api/log?page=1&pageSize=50&sortKey=time&sortDir=desc: 200.OK (6 ms)
19-12-17 10:00:14.8|Debug|Api|[GET] /api/log?page=1&pageSize=50&sortKey=time&sortDir=desc: 200.OK (2 ms)
19-12-17 10:00:15.0|Debug|Api|[GET] /api/log?page=1&pageSize=50&sortKey=time&sortDir=desc: 200.OK (2 ms)
19-12-17 10:00:26.4|Debug|DiskProvider|Setting permissions: 0777 on /mnt/Series/Doom Patrol/S01/Doom.Patrol.S01E06.NORDiC.720p.WEBRip.DDP5.1.x264-DBRETAiL.mkv
19-12-17 10:00:27.4|Debug|EpisodeService|Linking [S01/Doom.Patrol.S01E06.NORDiC.720p.WEBRip.DDP5.1.x264-DBRETAiL.mkv] > [[11211]Doom Patrol Patrol]
19-12-17 10:00:27.4|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '3/2/0.1'
19-12-17 10:00:27.4|Debug|LanguageParser|Parsing language from subtitle file: /mnt/Unsorted Series/Doom.Patrol.S01.NORDiC.720p.WEBRip.DDP5.1.x264-DBRETAiL/Doom.Patrol.S01E06.NORDiC.720p.WEBRip.DDP5.1.x264-DBRETAiL.da.srt
19-12-17 10:00:27.4|Debug|DiskTransferService|HardLinkOrCopy [/mnt/Unsorted Series/Doom.Patrol.S01.NORDiC.720p.WEBRip.DDP5.1.x264-DBRETAiL/Doom.Patrol.S01E06.NORDiC.720p.WEBRip.DDP5.1.x264-DBRETAiL.da.srt] > [/mnt/Series/Doom Patrol/S01/Doom.Patrol.S01E06.NORDiC.720p.WEBRip.DDP5.1.x264-DBRETAiL.da.srt]
19-12-17 10:00:27.4|Debug|DiskProvider|Hardlink '/mnt/Unsorted Series/Doom.Patrol.S01.NORDiC.720p.WEBRip.DDP5.1.x264-DBRETAiL/Doom.Patrol.S01E06.NORDiC.720p.WEBRip.DDP5.1.x264-DBRETAiL.da.srt' to '/mnt/Series/Doom Patrol/S01/Doom.Patrol.S01E06.NORDiC.720p.WEBRip.DDP5.1.x264-DBRETAiL.da.srt' failed.

[v2.0.0.5338] Mono.Unix.UnixIOException: Cross-device link [EXDEV].
  at Mono.Unix.UnixMarshal.ThrowExceptionForLastError () [0x00000] in /wrkdirs/usr/ports/lang/mono/work/mono-5.10.1.57/mcs/class/Mono.Posix/Mono.Unix/UnixMarshal.cs:478 
  at Mono.Unix.UnixMarshal.ThrowExceptionForLastErrorIf (System.Int32 retval) [0x00004] in /wrkdirs/usr/ports/lang/mono/work/mono-5.10.1.57/mcs/class/Mono.Posix/Mono.Unix/UnixMarshal.cs:491 
  at Mono.Unix.UnixFileSystemInfo.CreateLink (System.String path) [0x0000c] in /wrkdirs/usr/ports/lang/mono/work/mono-5.10.1.57/mcs/class/Mono.Posix/Mono.Unix/UnixFileSystemInfo.cs:278 
  at NzbDrone.Mono.Disk.DiskProvider.TryCreateHardLink (System.String source, System.String destination) [0x00013] in M:\BuildAgent\work\5d7581516c0ee5b3\src\NzbDrone.Mono\Disk\DiskProvider.cs:182 

My “Unsorted Series” folder and “Series” folders are on 2 different datasets but both are mounted to sonarrs /mnt/ folder and accessible?

It does, if it actually can, but given Cross-device link [EXDEV] i’ts across volumes and not supported.

Hmm… so need to figure out how to make one mountpoint with 2 datasets… A softlink with both directories should do it! Thanks, Will try!

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.