Fixed: Prevent getting disk space from returning no information when it partially fails
Closes #5247
This commit is contained in:
parent
9c1fd7c73e
commit
2c65e4fa41
|
@ -168,14 +168,32 @@ namespace NzbDrone.Mono.Disk
|
||||||
|
|
||||||
protected override List<IMount> GetAllMounts()
|
protected override List<IMount> GetAllMounts()
|
||||||
{
|
{
|
||||||
return _procMountProvider.GetMounts()
|
var mounts = new List<IMount>();
|
||||||
.Concat(GetDriveInfoMounts()
|
|
||||||
.Select(d => new DriveInfoMount(d, FindDriveType.Find(d.DriveFormat)))
|
try
|
||||||
.Where(d => d.DriveType == DriveType.Fixed ||
|
{
|
||||||
d.DriveType == DriveType.Network ||
|
mounts.AddRange(_procMountProvider.GetMounts());
|
||||||
d.DriveType == DriveType.Removable))
|
}
|
||||||
.DistinctBy(v => v.RootDirectory)
|
catch (Exception e)
|
||||||
.ToList();
|
{
|
||||||
|
_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)
|
protected override bool IsSpecialMount(IMount mount)
|
||||||
|
|
Loading…
Reference in New Issue