Free disk space check on Linux will use best match

Fixed: Better disk space check on Linux
This commit is contained in:
Mark McDowall 2013-11-07 17:46:07 -08:00
parent 2183526a34
commit 5c2073b297
1 changed files with 11 additions and 13 deletions

View File

@ -303,25 +303,23 @@ namespace NzbDrone.Common
{
var drives = DriveInfo.GetDrives();
foreach (var drive in drives)
try
{
try
{
if (drive.IsReady && path.StartsWith(drive.Name, StringComparison.CurrentCultureIgnoreCase))
{
return drive.AvailableFreeSpace;
}
}
catch (InvalidOperationException e)
{
Logger.ErrorException("Couldn't get free space for " + path, e);
}
return
drives.Where(drive =>
drive.IsReady && path.StartsWith(drive.Name, StringComparison.CurrentCultureIgnoreCase))
.OrderByDescending(drive => drive.Name.Length)
.First()
.AvailableFreeSpace;
}
catch (InvalidOperationException e)
{
Logger.ErrorException("Couldn't get free space for " + path, e);
}
return null;
}
return DriveFreeSpaceEx(root);
}