diff --git a/src/NzbDrone.Mono/Disk/DiskProvider.cs b/src/NzbDrone.Mono/Disk/DiskProvider.cs index 0ddee8441..e8d25b3e8 100644 --- a/src/NzbDrone.Mono/Disk/DiskProvider.cs +++ b/src/NzbDrone.Mono/Disk/DiskProvider.cs @@ -168,14 +168,32 @@ public override void CopyPermissions(string sourcePath, string targetPath) protected override List GetAllMounts() { - return _procMountProvider.GetMounts() - .Concat(GetDriveInfoMounts() - .Select(d => new DriveInfoMount(d, FindDriveType.Find(d.DriveFormat))) - .Where(d => d.DriveType == DriveType.Fixed || - d.DriveType == DriveType.Network || - d.DriveType == DriveType.Removable)) - .DistinctBy(v => v.RootDirectory) - .ToList(); + var mounts = new List(); + + try + { + mounts.AddRange(_procMountProvider.GetMounts()); + } + catch (Exception e) + { + _logger.Warn(e, $"Unable to get mounts: {e.Message}"); + } + + try + { + mounts.AddRange(GetDriveInfoMounts() + .Select(d => new DriveInfoMount(d, FindDriveType.Find(d.DriveFormat))) + .Where(d => d.DriveType == DriveType.Fixed || + d.DriveType == DriveType.Network || + d.DriveType == DriveType.Removable)); + } + catch (Exception e) + { + _logger.Warn(e, $"Unable to get drive mounts: {e.Message}"); + } + + return mounts.DistinctBy(v => v.RootDirectory) + .ToList(); } protected override bool IsSpecialMount(IMount mount)