mirror of
				https://github.com/TeaOSLab/EdgeNode.git
				synced 2025-11-04 07:40:56 +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