基于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文件系统

基于FUSE开发用户空间文件系统:kpfs

2 快盘指定目录下的文件属性查询

基于FUSE开发用户空间文件系统:kpfs

3 快盘中某个文件位置查找

基于FUSE开发用户空间文件系统:kpfs

4 各种类型文件thumbnail的显示

基于FUSE开发用户空间文件系统:kpfs

基于FUSE开发用户空间文件系统:kpfs

5 文件夹属性的获取

基于FUSE开发用户空间文件系统:kpfs

6 快盘里的文件读写

基于FUSE开发用户空间文件系统:kpfs

基于FUSE开发用户空间文件系统:kpfs

中文文件名支持

基于FUSE开发用户空间文件系统:kpfs

8 文件系统的统计信息查询

基于FUSE开发用户空间文件系统:kpfs

实现原理

KPFS通过FUSE来获取用户文件操作的指令,转而通过KPFS自行分装的文件操作函数,最终调用kuaipan.cn提供的API,实现对快盘文件的操作。 通过libcurl 库,来实现http报文的发送和接收,通过glib库实现KPFS文件系统inode节点的建立,查询,删除,插入。通过json-c库,实现对快盘服务器响应报文的解析。

项目主页:http://www.open-open.com/lib/view/home/1373420742315