diff --git a/internal/config/cache/config.go b/internal/config/cache/config.go index 23b40b0b6..efb9c00ac 100644 --- a/internal/config/cache/config.go +++ b/internal/config/cache/config.go @@ -27,6 +27,13 @@ import ( "github.com/minio/pkg/ellipses" ) +const ( + // WriteBack allows staging and write back of cached content for single object uploads + WriteBack = "writeback" + // WriteThrough allows caching multipart uploads to disk synchronously + WriteThrough = "writethrough" +) + // Config represents cache config settings type Config struct { Enabled bool `json:"-"` @@ -39,7 +46,7 @@ type Config struct { WatermarkLow int `json:"watermark_low"` WatermarkHigh int `json:"watermark_high"` Range bool `json:"range"` - CacheCommitMode string `json:"commit_mode"` + CacheCommitMode string `json:"commit"` } // UnmarshalJSON - implements JSON unmarshal interface for unmarshalling @@ -157,7 +164,7 @@ func parseCacheExcludes(excludes string) ([]string, error) { func parseCacheCommitMode(commitStr string) (string, error) { switch strings.ToLower(commitStr) { - case "writeback", "writethrough": + case WriteBack, WriteThrough: return strings.ToLower(commitStr), nil default: return "", config.ErrInvalidCacheCommitValue(nil).Msg("cache commit value must be `writeback` or `writethrough`") diff --git a/internal/config/cache/lookup.go b/internal/config/cache/lookup.go index 42f29fed5..6b88c67c8 100644 --- a/internal/config/cache/lookup.go +++ b/internal/config/cache/lookup.go @@ -56,7 +56,7 @@ const ( DefaultAfter = "0" DefaultWaterMarkLow = "70" DefaultWaterMarkHigh = "80" - DefaultCacheCommit = "writethrough" + DefaultCacheCommit = WriteThrough ) // DefaultKVS - default KV settings for caching. @@ -223,7 +223,7 @@ func LookupConfig(kvs config.KVS) (Config, error) { if err != nil { return cfg, err } - if cfg.After > 0 && cfg.CacheCommitMode != "" { + if cfg.After > 0 && cfg.CacheCommitMode != WriteThrough { err := errors.New("cache after cannot be used with commit writeback") return cfg, config.ErrInvalidCacheSetting(err) }