fuse简介

FUSE(Filesystem in Userspace) 提供了一套接口,可以在用户层实现内核文件系统。

FUSE 由两部分组成:

  1. fuse内核模块(由通用内核提供)

  2. libfuse用户空间库,它实现与FUSE内核模块通信

libfuse提供两种接口:高级别的异步API和低级别的异步API。这两种API都会把来自内核的请求通过回调函数传递给主程序。当使用高级别API接口时候,回调函数使用文件名和路径作为参数;当使用低级别API接口时候,回调函数必须使用inode,并且必须使用一组单独的API函数显示发送响应。

高级别的API使用fuse.h头文件;低级别的API使用fuse_lowlevel.h头文件。