This document discusses FUSE (Filesystem in Userspace) and its implementation in the Gluster filesystem. It provides an overview of the FUSE protocol, including the message structure used between the kernel and userspace FUSE servers. It also describes the different parts of the Gluster codebase that relate to FUSE and discusses some of the tradeoffs of using the libfuse library versus implementing FUSE functionality from scratch.