From 442334ba61a3164b5dcc21354f20fe9eb6abed41 Mon Sep 17 00:00:00 2001 From: Nick Craig-Wood Date: Fri, 16 Feb 2018 14:12:46 +0000 Subject: [PATCH] vfs: disable cache cleaner if --vfs-cache-poll-interval=0 And use this to disable the cleaner in the cache tests to make them more reliable --- vfs/cache.go | 4 ++++ vfs/cache_test.go | 7 +++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/vfs/cache.go b/vfs/cache.go index 3ca68f712..302d98dd9 100644 --- a/vfs/cache.go +++ b/vfs/cache.go @@ -387,6 +387,10 @@ func (c *cache) clean() { // // doesn't return until context is cancelled func (c *cache) cleaner(ctx context.Context) { + if c.opt.CachePollInterval <= 0 { + fs.Debugf(nil, "Cache cleaning thread disabled because poll interval <= 0") + return + } // Start cleaning the cache immediately c.clean() // Then every interval specified diff --git a/vfs/cache_test.go b/vfs/cache_test.go index 5b8fd1f0f..200a68aea 100644 --- a/vfs/cache_test.go +++ b/vfs/cache_test.go @@ -63,9 +63,12 @@ func TestCacheNew(t *testing.T) { defer r.Finalise() ctx, cancel := context.WithCancel(context.Background()) + defer cancel() - c, err := newCache(ctx, r.Fremote, &DefaultOpt) - cancel() // kill the background cache cleaning as it interferes with the tests + // Disable the cache cleaner as it interferes with these tests + opt := DefaultOpt + opt.CachePollInterval = 0 + c, err := newCache(ctx, r.Fremote, &opt) require.NoError(t, err) assert.Contains(t, c.root, "vfs")