Linux-Kernel-Notes

Thinking in linux kernel

View on GitHub

FUSE 子系统教程

[中文] English 返回总目录

源码基线:Linux 7.2-rc6。

第一章:FUSE 子系统设计

第一章不依赖具体函数调用,目标是回答:FUSE 为什么需要这些对象、协议字段、缓存超时和队列规则?

  1. 边界、分层与端到端架构
  2. 核心对象、协议身份与能力协商
  3. 缓存、I/O 模式与一致性模型
  4. 并发、背压、安全与失败模型

第二章:FUSE 代码实现分析

第二章沿 Linux 源码追踪对象的创建、请求的发送、daemon 的应答和资源的释放。

  1. 源码地图、模块初始化、挂载与 FUSE_INIT
  2. 路径解析、目录操作、属性与引用记账
  3. OPEN、缓存读写、Direct I/O、Writeback 与 RELEASE
  4. 请求分配、队列状态机与 /dev/fuse 传输
  5. 普通 mmap 与 virtio-fs DAX
  6. 卸载、Abort、调试方法与性能分析

学习目标

完成本教程后,应当能够: