mirror of https://github.com/Radarr/Radarr
DiskSpaceService will not blow up if total or free space is null
This commit is contained in:
parent
99336595b0
commit
274e2eac86
|
@ -69,14 +69,19 @@ namespace NzbDrone.Core.DiskSpace
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var freeSpace = _diskProvider.GetAvailableSpace(path).Value;
|
var freeSpace = _diskProvider.GetAvailableSpace(path);
|
||||||
var totalSpace = _diskProvider.GetTotalSize(path).Value;
|
var totalSpace = _diskProvider.GetTotalSize(path);
|
||||||
|
|
||||||
|
if (!freeSpace.HasValue || !totalSpace.HasValue)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
diskSpace = new DiskSpace
|
diskSpace = new DiskSpace
|
||||||
{
|
{
|
||||||
Path = path,
|
Path = path,
|
||||||
FreeSpace = freeSpace,
|
FreeSpace = freeSpace.Value,
|
||||||
TotalSpace = totalSpace
|
TotalSpace = totalSpace.Value
|
||||||
};
|
};
|
||||||
|
|
||||||
diskSpace.Label = _diskProvider.GetVolumeLabel(path);
|
diskSpace.Label = _diskProvider.GetVolumeLabel(path);
|
||||||
|
|
|
@ -24,7 +24,15 @@ namespace NzbDrone.Mono
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
return GetDriveInfoLinux(path).AvailableFreeSpace;
|
var driveInfo = GetDriveInfoLinux(path);
|
||||||
|
|
||||||
|
if (driveInfo == null)
|
||||||
|
{
|
||||||
|
Logger.Trace("Unable to get free space for '{0}', unable to find suitable drive", path);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return driveInfo.AvailableFreeSpace;
|
||||||
}
|
}
|
||||||
catch (InvalidOperationException e)
|
catch (InvalidOperationException e)
|
||||||
{
|
{
|
||||||
|
@ -132,7 +140,7 @@ namespace NzbDrone.Mono
|
||||||
drives.Where(drive =>
|
drives.Where(drive =>
|
||||||
drive.IsReady && path.StartsWith(drive.Name, StringComparison.CurrentCultureIgnoreCase))
|
drive.IsReady && path.StartsWith(drive.Name, StringComparison.CurrentCultureIgnoreCase))
|
||||||
.OrderByDescending(drive => drive.Name.Length)
|
.OrderByDescending(drive => drive.Name.Length)
|
||||||
.First();
|
.FirstOrDefault();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue