diff --git a/backend/hasher/hasher.go b/backend/hasher/hasher.go index 1ee789eaf..b3ee58a29 100644 --- a/backend/hasher/hasher.go +++ b/backend/hasher/hasher.go @@ -14,6 +14,7 @@ import ( "github.com/rclone/rclone/fs" "github.com/rclone/rclone/fs/cache" + "github.com/rclone/rclone/fs/config" "github.com/rclone/rclone/fs/config/configmap" "github.com/rclone/rclone/fs/config/configstruct" "github.com/rclone/rclone/fs/fspath" @@ -157,7 +158,7 @@ func NewFs(ctx context.Context, fsname, rpath string, cmap configmap.Mapper) (fs if f.opt.MaxAge > 0 { gob.Register(hashRecord{}) - db, err := kv.Start(ctx, "hasher", f.Fs) + db, err := kv.Start(ctx, "hasher", config.GetCacheDir(), f.Fs) if err != nil { return nil, err } diff --git a/lib/kv/bolt.go b/lib/kv/bolt.go index 39cf2ed15..98ef9b245 100644 --- a/lib/kv/bolt.go +++ b/lib/kv/bolt.go @@ -13,7 +13,6 @@ import ( "time" "github.com/rclone/rclone/fs" - "github.com/rclone/rclone/fs/config" "github.com/rclone/rclone/lib/encoder" "go.etcd.io/bbolt" ) @@ -66,14 +65,12 @@ func makeName(facility string, f fs.Fs) string { } // Start a new key-value database -func Start(ctx context.Context, facility string, f fs.Fs) (*DB, error) { +func Start(ctx context.Context, facility string, dir string, f fs.Fs) (*DB, error) { dbMut.Lock() defer dbMut.Unlock() if db := lockedGet(facility, f); db != nil { return db, nil } - - dir := filepath.Join(config.GetCacheDir(), "kv") if err := os.MkdirAll(dir, dbDirMode); err != nil { return nil, err } diff --git a/lib/kv/internal_test.go b/lib/kv/internal_test.go index f101f720e..5a9eaea5c 100644 --- a/lib/kv/internal_test.go +++ b/lib/kv/internal_test.go @@ -8,6 +8,7 @@ import ( "sync" "testing" + "github.com/rclone/rclone/fs/config" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -22,7 +23,7 @@ func TestKvConcurrency(t *testing.T) { wg.Add(threadNum) for i := range threadNum { go func(i int) { - db, err := Start(ctx, "test", nil) + db, err := Start(ctx, "test", config.GetCacheDir(), nil) require.NoError(t, err) require.NotNil(t, db) results[i] = db @@ -57,7 +58,7 @@ func TestKvExit(t *testing.T) { for i := range dbNum { facility := fmt.Sprintf("test-%d", i) for j := 0; j <= i; j++ { - db, err := Start(ctx, facility, nil) + db, err := Start(ctx, facility, config.GetCacheDir(), nil) require.NoError(t, err) require.NotNil(t, db) }