Notes about FUSE filesystem
Overview
tutorial
very nice tutorial: Writing a Simple Filesystem Using FUSE in C
Making a call into a FUSE file system
- A program, such as ls, mkdir makes a call to a file system routine. For example, open(“/test/fuse/file1.txt”). This call gets sent to the kernel.
- If this file is in a FUSE volume, the kernel passes it on to the FUSE kernel module, which then passes it on to the implementation of that file system.
- The implementation of open then refers to the actual data structures that represent the file system and returns a file handle. It is open’s job to take a concrete view of data (bits stored on a hard drive) and present an abstract view (a hierarchically organized file system).
- The kernel returns the result of the open function to the program that originally made the call.
Cited From File Systems and FUSE.
simple fuse example
辅助资料
- CS135 FUSE Documentation
- Writing a FUSE Filesystem: a Tutorial
- How Fuse-1.3 Works
- linux内核开发第38讲:linux基于fuse实现自定义文件系统整体架构
理论基础
FAST’17 paper: To FUSE or Not to FUSE: Performance of User-Space File Systems,slides也非常硬核!