delete last 5% of files once storage reaches limit
This commit is contained in:
@@ -106,11 +106,14 @@ public sealed class PeriodicFileScanner : DisposableMediatorSubscriberBase
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (FileCacheSize < (long)(_configService.Current.MaxLocalCacheInGiB * 1024d * 1024d * 1024d)) return false;
|
var maxCacheInBytes = (long)(_configService.Current.MaxLocalCacheInGiB * 1024d * 1024d * 1024d);
|
||||||
|
|
||||||
|
if (FileCacheSize < maxCacheInBytes) return false;
|
||||||
|
|
||||||
var allFiles = Directory.EnumerateFiles(_configService.Current.CacheFolder)
|
var allFiles = Directory.EnumerateFiles(_configService.Current.CacheFolder)
|
||||||
.Select(f => new FileInfo(f)).OrderBy(f => f.LastAccessTime).ToList();
|
.Select(f => new FileInfo(f)).OrderBy(f => f.LastAccessTime).ToList();
|
||||||
while (FileCacheSize > (long)(_configService.Current.MaxLocalCacheInGiB * 1024d * 1024d * 1024d))
|
var maxCacheBuffer = maxCacheInBytes * 0.05d;
|
||||||
|
while (FileCacheSize > maxCacheInBytes - (long)maxCacheBuffer)
|
||||||
{
|
{
|
||||||
var oldestFile = allFiles[0];
|
var oldestFile = allFiles[0];
|
||||||
FileCacheSize -= oldestFile.Length;
|
FileCacheSize -= oldestFile.Length;
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Authors></Authors>
|
<Authors></Authors>
|
||||||
<Company></Company>
|
<Company></Company>
|
||||||
<Version>0.8.23</Version>
|
<Version>0.8.24</Version>
|
||||||
<Description></Description>
|
<Description></Description>
|
||||||
<Copyright></Copyright>
|
<Copyright></Copyright>
|
||||||
<PackageProjectUrl>https://github.com/Penumbra-Sync/client</PackageProjectUrl>
|
<PackageProjectUrl>https://github.com/Penumbra-Sync/client</PackageProjectUrl>
|
||||||
|
|||||||
Reference in New Issue
Block a user