You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
658 B

  1. package meta_cache
  2. import (
  3. "os"
  4. "github.com/chrislusf/seaweedfs/weed/filer2"
  5. "github.com/chrislusf/seaweedfs/weed/filer2/leveldb"
  6. "github.com/chrislusf/seaweedfs/weed/glog"
  7. )
  8. type MetaCache struct {
  9. filer2.FilerStore
  10. }
  11. func NewMetaCache(dbFolder string) *MetaCache {
  12. return &MetaCache{
  13. FilerStore: OpenMetaStore(dbFolder),
  14. }
  15. }
  16. func OpenMetaStore(dbFolder string) filer2.FilerStore {
  17. os.MkdirAll(dbFolder, 0755)
  18. store := &leveldb.LevelDBStore{}
  19. config := &cacheConfig{}
  20. if err := store.Initialize(config, ""); err != nil {
  21. glog.Fatalf("Failed to initialize metadata cache store for %s: %+v", store.GetName(), err)
  22. }
  23. return store
  24. }