From ff48dc1aab1c551dcaaa0f46b32dbc5f35e90e2e Mon Sep 17 00:00:00 2001 From: Jakob Unterwurzacher Date: Wed, 5 Oct 2016 22:22:28 +0200 Subject: [PATCH] reverse: initialize the longname cache only when reverse mode is used Gets rid of the idling longnameCacheCleaner thread in "normal" mode. --- internal/fusefrontend_reverse/reverse_longnames.go | 5 ++++- internal/fusefrontend_reverse/rfs.go | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/internal/fusefrontend_reverse/reverse_longnames.go b/internal/fusefrontend_reverse/reverse_longnames.go index 5ad95b1..d59664d 100644 --- a/internal/fusefrontend_reverse/reverse_longnames.go +++ b/internal/fusefrontend_reverse/reverse_longnames.go @@ -30,7 +30,10 @@ func longnameCacheCleaner() { } } -func init() { +func initLongnameCache() { + if longnameParentCache != nil { + return + } longnameParentCache = map[string]string{} go longnameCacheCleaner() } diff --git a/internal/fusefrontend_reverse/rfs.go b/internal/fusefrontend_reverse/rfs.go index ab65ba3..1c143bf 100644 --- a/internal/fusefrontend_reverse/rfs.go +++ b/internal/fusefrontend_reverse/rfs.go @@ -47,6 +47,8 @@ var _ pathfs.FileSystem = &reverseFS{} // NewFS returns an encrypted FUSE overlay filesystem func NewFS(args fusefrontend.Args) pathfs.FileSystem { + initLongnameCache() + cryptoCore := cryptocore.New(args.Masterkey, args.CryptoBackend, contentenc.DefaultIVBits) contentEnc := contentenc.New(cryptoCore, contentenc.DefaultBS) nameTransform := nametransform.New(cryptoCore, args.LongNames)