diff --git a/internal/fusefrontend/dircache.go b/internal/fusefrontend/dircache.go index 718e5b2..d6ec52c 100644 --- a/internal/fusefrontend/dircache.go +++ b/internal/fusefrontend/dircache.go @@ -12,11 +12,11 @@ import ( ) const ( - // Number of entries in the dirCache. Three entries work well for two - // (probably also three) parallel tar extracts (hit rate around 92%). + // Number of entries in the dirCache. + // 20 entries work well for "git stat" on a small git repo on sshfs. // Keep in sync with test_helpers.maxCacheFds ! // TODO: How to share this constant without causing an import cycle? - dirCacheSize = 3 + dirCacheSize = 20 // Enable Lookup/Store/Clear debug messages enableDebugMessages = false // Enable hit rate statistics printing @@ -151,7 +151,7 @@ func (d *dirCacheStruct) Lookup(dirRelPath string) (fd int, iv []byte) { // expireThread is started on the first Lookup() func (d *dirCacheStruct) expireThread() { for { - time.Sleep(1 * time.Second) + time.Sleep(60 * time.Second) d.Clear() if enableStats { d.Lock() diff --git a/tests/test_helpers/mount_unmount.go b/tests/test_helpers/mount_unmount.go index cdbdee8..76db41c 100644 --- a/tests/test_helpers/mount_unmount.go +++ b/tests/test_helpers/mount_unmount.go @@ -14,6 +14,11 @@ import ( "time" ) +// gocryptfs may hold up to maxCacheFds open for caching +// Keep in sync with fusefrontend.dirCacheSize +// TODO: How to share this constant without causing an import cycle?! +const maxCacheFds = 20 + // Indexed by mountpoint. Initialized in doInit(). var MountInfo map[string]mountInfo @@ -137,11 +142,6 @@ func UnmountPanic(dir string) { } } -// gocryptfs may hold up to maxCacheFds open for caching -// Keep in sync with fusefrontend.dirCacheSize -// TODO: How to share this constant without causing an import cycle?! -const maxCacheFds = 3 - // UnmountErr tries to unmount "dir", retrying 10 times, and returns the // resulting error. func UnmountErr(dir string) (err error) {