From bf5318d776951bcca00266e7b65a2016ce41986f Mon Sep 17 00:00:00 2001 From: Deluan Date: Mon, 26 Oct 2020 09:54:36 -0400 Subject: [PATCH] Add flag to enable new cache layout --- conf/configuration.go | 2 ++ core/cache/file_caches.go | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/conf/configuration.go b/conf/configuration.go index 86051de3..92a3979f 100644 --- a/conf/configuration.go +++ b/conf/configuration.go @@ -49,6 +49,7 @@ type configOptions struct { DevLogSourceLine bool DevAutoCreateAdminPassword string DevPreCacheAlbumArtwork bool + DevNewCacheLayout bool } type scannerOptions struct { @@ -134,6 +135,7 @@ func init() { viper.SetDefault("devlogsourceline", false) viper.SetDefault("devautocreateadminpassword", "") viper.SetDefault("devprecachealbumartwork", false) + viper.SetDefault("devnewcachelayout", false) } func InitConfig(cfgFile string) { diff --git a/core/cache/file_caches.go b/core/cache/file_caches.go index b9eb78ed..44aad5c5 100644 --- a/core/cache/file_caches.go +++ b/core/cache/file_caches.go @@ -187,8 +187,13 @@ func newFSCache(name, cacheSize, cacheFolder string, maxItems int) (fscache.Cach h := fscache.NewLRUHaunterStrategy(lru) cacheFolder = filepath.Join(conf.Server.DataFolder, cacheFolder) + var fs fscache.FileSystem log.Info(fmt.Sprintf("Creating %s cache", name), "path", cacheFolder, "maxSize", humanize.Bytes(size)) - fs, err := NewSpreadFS(cacheFolder, 0755) + if conf.Server.DevNewCacheLayout { + fs, err = NewSpreadFS(cacheFolder, 0755) + } else { + fs, err = fscache.NewFs(cacheFolder, 0755) + } if err != nil { log.Error(fmt.Sprintf("Error initializing %s cache", name), err, "elapsedTime", time.Since(start)) return nil, err