Fixed: Total free space on Linux
This commit is contained in:
parent
018b898a46
commit
9fcd422f29
|
@ -301,16 +301,9 @@ namespace NzbDrone.Common
|
|||
|
||||
if (OsInfo.IsLinux)
|
||||
{
|
||||
var drives = DriveInfo.GetDrives();
|
||||
|
||||
try
|
||||
{
|
||||
return
|
||||
drives.Where(drive =>
|
||||
drive.IsReady && path.StartsWith(drive.Name, StringComparison.CurrentCultureIgnoreCase))
|
||||
.OrderByDescending(drive => drive.Name.Length)
|
||||
.First()
|
||||
.AvailableFreeSpace;
|
||||
return GetDriveInfoLinux(path).AvailableFreeSpace;
|
||||
}
|
||||
catch (InvalidOperationException e)
|
||||
{
|
||||
|
@ -469,27 +462,18 @@ namespace NzbDrone.Common
|
|||
|
||||
if (OsInfo.IsLinux)
|
||||
{
|
||||
var drives = DriveInfo.GetDrives();
|
||||
|
||||
foreach (var drive in drives)
|
||||
try
|
||||
{
|
||||
try
|
||||
{
|
||||
if (drive.IsReady && path.StartsWith(drive.Name, StringComparison.CurrentCultureIgnoreCase))
|
||||
{
|
||||
return drive.TotalSize;
|
||||
}
|
||||
}
|
||||
catch (InvalidOperationException e)
|
||||
{
|
||||
Logger.ErrorException("Couldn't get total space for " + path, e);
|
||||
}
|
||||
return GetDriveInfoLinux(path).TotalFreeSpace;
|
||||
}
|
||||
catch (InvalidOperationException e)
|
||||
{
|
||||
Logger.ErrorException("Couldn't get total space for " + path, e);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
return DriveTotalSizeEx(root);
|
||||
}
|
||||
|
||||
|
@ -552,5 +536,16 @@ namespace NzbDrone.Common
|
|||
|
||||
return 0;
|
||||
}
|
||||
|
||||
private DriveInfo GetDriveInfoLinux(string path)
|
||||
{
|
||||
var drives = DriveInfo.GetDrives();
|
||||
|
||||
return
|
||||
drives.Where(drive =>
|
||||
drive.IsReady && path.StartsWith(drive.Name, StringComparison.CurrentCultureIgnoreCase))
|
||||
.OrderByDescending(drive => drive.Name.Length)
|
||||
.First();
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue