基于FUSE开发用户空间文件系统:kpfs
jopen
11年前
kpfs是一款基于FUSE开发的用户空间文件系统,实现了在Linux中对快盘的基本操作。当文件系统挂载到Linux的某个文件夹下,用户只需像普通文件一样操作自己快盘中的目录和文件。
kpfs的特点
- 基于FUSE的文件系统
- 基于kuaipan.cn API
- 使用了这些基础软件:liboauth, fuse, glib, curl, json-c
- 支持gobject 反射,支持javascript和python绑定。
kpfs实现的功能
kpfs挂载到linux文件系统
2 快盘指定目录下的文件属性查询
3 快盘中某个文件位置查找
4 各种类型文件thumbnail的显示
5 文件夹属性的获取
6 快盘里的文件读写
7 中文文件名支持
8 文件系统的统计信息查询
实现原理
KPFS通过FUSE来获取用户文件操作的指令,转而通过KPFS自行分装的文件操作函数,最终调用kuaipan.cn提供的API,实现对快盘文件的操作。 通过libcurl 库,来实现http报文的发送和接收,通过glib库实现KPFS文件系统inode节点的建立,查询,删除,插入。通过json-c库,实现对快盘服务器响应报文的解析。