diff --git a/samples/memfs/fs.go b/samples/memfs/fs.go index be7096d..2c72a51 100644 --- a/samples/memfs/fs.go +++ b/samples/memfs/fs.go @@ -58,7 +58,11 @@ func NewMemFS( } // Set up the root inode. - fs.inodes[fuse.RootInodeID] = newInode(0777 | os.ModeDir) + rootAttrs := fuse.InodeAttributes{ + Mode: 0777 | os.ModeDir, + } + + fs.inodes[fuse.RootInodeID] = newInode(rootAttrs) // Set up invariant checking. fs.mu = syncutil.NewInvariantMutex(fs.checkInvariants) @@ -148,9 +152,9 @@ func (fs *memFS) getInodeForReadingOrDie(id fuse.InodeID) (inode *inode) { // EXCLUSIVE_LOCKS_REQUIRED(fs.mu) // EXCLUSIVE_LOCK_FUNCTION(inode.mu) func (fs *memFS) allocateInode( - mode os.FileMode) (id fuse.InodeID, inode *inode) { + attrs fuse.InodeAttributes) (id fuse.InodeID, inode *inode) { // Create and lock the inode. - inode = newInode(mode) + inode = newInode(attrs) inode.mu.Lock() // Re-use a free ID if possible. Otherwise mint a new one. @@ -238,7 +242,11 @@ func (fs *memFS) MkDir( defer parent.mu.Unlock() // Allocate a child. - childID, child := fs.allocateInode(req.Mode) + childAttrs := fuse.InodeAttributes{ + Mode: req.Mode, + } + + childID, child := fs.allocateInode(childAttrs) defer child.mu.Unlock() // Add an entry in the parent. diff --git a/samples/memfs/inode.go b/samples/memfs/inode.go index 5cfe02b..a22bdc7 100644 --- a/samples/memfs/inode.go +++ b/samples/memfs/inode.go @@ -59,12 +59,10 @@ type inode struct { contents []byte // GUARDED_BY(mu) } -func newInode(mode os.FileMode) (in *inode) { +func newInode(attrs fuse.InodeAttributes) (in *inode) { in = &inode{ - dir: (mode&os.ModeDir != 0), - attributes: fuse.InodeAttributes{ - Mode: mode, - }, + dir: (attrs.Mode&os.ModeDir != 0), + attributes: attrs, } in.mu = syncutil.NewInvariantMutex(in.checkInvariants)