package writecache import ( "context" "fmt" "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/pkg/tracing" "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/shard/mode" ) // Init runs necessary services. func (c *Cache) Init() error { ctx, span := tracing.StartSpanFromContext(context.TODO(), "writecache.Init") defer span.End() c.modeMtx.Lock() defer c.modeMtx.Unlock() if c.mode.NoMetabase() { return nil } err := c.initCounters(ctx) if err != nil { return fmt.Errorf("initializing write-cache size: %w", err) } if c.mode == mode.ReadWrite { c.workersChan = make(chan struct{}) c.runFlushLoop() } return nil }