in pkg/controller/sub_controller/disaggregated_subcontroller.go [562:598]
func (d *DisaggregatedSubDefaultController) getCacheMaxSizeAndPaths(cvs map[string]interface{}) ([]string, int64) {
v := cvs[FileCachePathKey]
if v == nil {
return []string{DefaultCacheRootPath}, DefaultCacheSize
}
var paths []string
var maxCacheSize int64
vbys := v.(string)
var pa []map[string]interface{}
err := json.Unmarshal([]byte(vbys), &pa)
if err != nil {
klog.Errorf("disaggregatedComputeGroupsController getStorageMaxSizeAndPaths json unmarshal file_cache_path failed, err=%s", err.Error())
return []string{}, 0
}
for i, mp := range pa {
pv := mp[FileCacheSubConfigPathKey]
pv_str, ok := pv.(string)
if !ok {
klog.Errorf("disaggregatedComputeGroupsController getStorageMaxSizeAndPaths index %d have not path config.", i)
continue
}
paths = append(paths, pv_str)
cache_v := mp[FileCacheSubConfigTotalSizeKey]
fc_size, ok := cache_v.(float64)
cache_size := int64(fc_size)
if !ok {
klog.Errorf("disaggregatedComputeGroupsController getStorageMaxSizeAndPaths index %d total_size is not number.", i)
continue
}
if maxCacheSize < cache_size {
maxCacheSize = cache_size
}
}
return paths, maxCacheSize
}