Fixed: Prevent getting disk space from returning no information when it partially fails

Closes #5247
pull/5431/head
Mark McDowall 2 years ago
parent 9c1fd7c73e
commit 2c65e4fa41

@ -168,14 +168,32 @@ namespace NzbDrone.Mono.Disk
protected override List<IMount> 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<IMount>();
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)

Loading…
Cancel
Save