Free disk space check on Linux will use best match

Fixed: Better disk space check on Linux
pull/3113/head
Mark McDowall 11 years ago
parent 2183526a34
commit 5c2073b297

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

Loading…
Cancel
Save