diff --git a/src/NzbDrone.Mono/Disk/DiskProvider.cs b/src/NzbDrone.Mono/Disk/DiskProvider.cs index b447662ec..26b3d5151 100644 --- a/src/NzbDrone.Mono/Disk/DiskProvider.cs +++ b/src/NzbDrone.Mono/Disk/DiskProvider.cs @@ -184,14 +184,32 @@ namespace NzbDrone.Mono.Disk 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)