From b2724070d95234a8cd281f275211e0f827a8bbe1 Mon Sep 17 00:00:00 2001 From: Jakob Unterwurzacher Date: Mon, 16 Aug 2021 18:40:48 +0200 Subject: reverse mode: implement -one-file-system Fixes https://github.com/rfjakob/gocryptfs/issues/475 --- internal/fusefrontend_reverse/node_helpers.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'internal/fusefrontend_reverse/node_helpers.go') diff --git a/internal/fusefrontend_reverse/node_helpers.go b/internal/fusefrontend_reverse/node_helpers.go index 92f6a87..7b286a0 100644 --- a/internal/fusefrontend_reverse/node_helpers.go +++ b/internal/fusefrontend_reverse/node_helpers.go @@ -91,6 +91,7 @@ func (n *Node) prepareAtSyscall(child string) (d *dirfdPlus, errno syscall.Errno // newChild attaches a new child inode to n. // The passed-in `st` will be modified to get a unique inode number. func (n *Node) newChild(ctx context.Context, st *syscall.Stat_t, out *fuse.EntryOut) *fs.Inode { + isOtherFilesystem := (uint64(st.Dev) != n.rootNode().rootDev) // Get unique inode number rn := n.rootNode() rn.inoMap.TranslateStat(st) @@ -101,7 +102,9 @@ func (n *Node) newChild(ctx context.Context, st *syscall.Stat_t, out *fuse.Entry Gen: 1, Ino: st.Ino, } - node := &Node{} + node := &Node{ + isOtherFilesystem: isOtherFilesystem, + } return n.NewInode(ctx, node, id) } -- cgit v1.2.3