mirror of
https://github.com/TeaOSLab/EdgeNode.git
synced 2025-11-05 00:34:01 +08:00
edge-node cache.garbage命令执行时检查Key列表是否已加载完毕
This commit is contained in:
@@ -379,6 +379,15 @@ func (this *FileList) GetDB(hash string) *FileListDB {
|
|||||||
return this.dbList[fnv.HashString(hash)%CountFileDB]
|
return this.dbList[fnv.HashString(hash)%CountFileDB]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (this *FileList) HashMapIsLoaded() bool {
|
||||||
|
for _, db := range this.dbList {
|
||||||
|
if !db.HashMapIsLoaded() {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
func (this *FileList) remove(hash string) (notFound bool, err error) {
|
func (this *FileList) remove(hash string) (notFound bool, err error) {
|
||||||
var db = this.GetDB(hash)
|
var db = this.GetDB(hash)
|
||||||
|
|
||||||
|
|||||||
@@ -1534,6 +1534,10 @@ func (this *FileStorage) subDir(hash string) (dirPath string, dirIsFull bool) {
|
|||||||
// ScanGarbageCaches 清理目录中“失联”的缓存文件
|
// ScanGarbageCaches 清理目录中“失联”的缓存文件
|
||||||
// “失联”为不在HashMap中的文件
|
// “失联”为不在HashMap中的文件
|
||||||
func (this *FileStorage) ScanGarbageCaches(fileCallback func(path string) error) error {
|
func (this *FileStorage) ScanGarbageCaches(fileCallback func(path string) error) error {
|
||||||
|
if !this.list.(*FileList).HashMapIsLoaded() {
|
||||||
|
return errors.New("cache list is loading")
|
||||||
|
}
|
||||||
|
|
||||||
var mainDir = this.options.Dir
|
var mainDir = this.options.Dir
|
||||||
var allDirs = []string{mainDir}
|
var allDirs = []string{mainDir}
|
||||||
var subDirs = this.subDirs // copy
|
var subDirs = this.subDirs // copy
|
||||||
|
|||||||
Reference in New Issue
Block a user