aboutsummaryrefslogtreecommitdiff
path: root/internal/fusefrontend/root_node.go
diff options
context:
space:
mode:
authorJakob Unterwurzacher2021-08-02 20:01:26 +0200
committerJakob Unterwurzacher2021-08-02 20:01:26 +0200
commitc3c9513e6504276698ed1f50a259d4333476acf8 (patch)
treef5cf3a6cf76dc36ebf04c5eaa365f80355fa0494 /internal/fusefrontend/root_node.go
parent75cf36fe7b4e64379ba67804d8c5ac56e25f63b7 (diff)
fusefrontend: add quirks for MacOS ExFAT
This also moves the quirks logic into fusefrontend. Fixes https://github.com/rfjakob/gocryptfs/issues/585
Diffstat (limited to 'internal/fusefrontend/root_node.go')
-rw-r--r--internal/fusefrontend/root_node.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/internal/fusefrontend/root_node.go b/internal/fusefrontend/root_node.go
index 46bee4a..9905d66 100644
--- a/internal/fusefrontend/root_node.go
+++ b/internal/fusefrontend/root_node.go
@@ -57,6 +57,9 @@ type RootNode struct {
// makes go-fuse hand out separate FUSE Node IDs for each, and prevents
// bizarre problems when inode numbers are reused behind our back.
gen uint64
+ // quirks is a bitmap that enables workaround for quirks in the filesystem
+ // backing the cipherdir
+ quirks uint64
}
func NewRootNode(args Args, c *contentenc.ContentEnc, n *nametransform.NameTransform) *RootNode {
@@ -76,6 +79,7 @@ func NewRootNode(args Args, c *contentenc.ContentEnc, n *nametransform.NameTrans
contentEnc: c,
inoMap: inomap.New(),
dirCache: dirCache{ivLen: ivLen},
+ quirks: detectQuirks(args.Cipherdir),
}
return rn
}