试图使用fuse(用户空间文件系统,Linux)来使自己的文件系统工作,我真的很好奇如何获得详细的最新操作文档?
大多数时候,我搜索其他文件系统实现并查看它们的操作方式,但有些操作似乎并不常用,例如poll / ioctl或bmap。而且,fuse api的文档并没有太大帮助,例如操作的参数和返回值都没有文档记录,因此我必须猜测如何使用它们。
所以问题是,我在哪里可以获得更好的信息,了解如何实现这些奇特的操作?
谢谢
试图使用fuse(用户空间文件系统,Linux)来使自己的文件系统工作,我真的很好奇如何获得详细的最新操作文档?
大多数时候,我搜索其他文件系统实现并查看它们的操作方式,但有些操作似乎并不常用,例如poll / ioctl或bmap。而且,fuse api的文档并没有太大帮助,例如操作的参数和返回值都没有文档记录,因此我必须猜测如何使用它们。
所以问题是,我在哪里可以获得更好的信息,了解如何实现这些奇特的操作?
谢谢
是的,您说得对,很多地方评论称FUSE缺乏文档。也许这是因为需要记录的内容非常少。或者实现仅适用于那些足够了解用户空间文件系统权衡的人。因此您可以参考以下文档、教程、幻灯片甚至示例代码以获取更多信息:
FUSE设计文档(来自Sun?):
http://www.youblisher.com/p/31627-fuse/
http://www.oug.org/files/presentations/losug-fuse.pdf
http://sar.informatik.hu-berlin.de/teaching/2013-w/2013w_osp2/lab/Lab-4-FUSE/lab-FUSE_.pdf
http://www.cs.hmc.edu/~geoff/classes/hmc.cs135.201001/homework/fuse/fuse_doc.html(教程)
http://www.cs.cmu.edu/~./fp/courses/15213-s07/lectures/15-filesys/index.html
涉及 IT 技术的文件系统内容。http://www.cs.nmsu.edu/~pfeiffer/fuse-tutorial/
关于 FUSE 的教程,FUSE 可以在用户空间实现文件系统。样例代码:
http://fuse.sourceforge.net/helloworld.html
此处提供 FUSE 的示例代码。以下内容更多是面向研究的:
http://www.msrsas.org/docs/sastech_journals/archives/May2011/2.pdf
https://code.google.com/p/s3fs/wiki/FuseOverAmazon
以上两个链接都与 FUSE 有关。但总的来说,在用户空间实现文件系统存在很多问题和难题(这些可能需要通过一些复杂的算法来解决),这也是为什么 Linus 将其称为“玩具”的原因:
https://ceph.com/dev-notes/linus-vs-fuse/
这里提及到了 Linus 对 FUSE 的看法。2015年4月15日更新:
我刚找到了这个(还有许多其他幻灯片——只需查看此网页的右侧):
http://www.slideshare.net/adorepump/fuse-developing-fillesystems-in-userspace
这是一份关于在用户空间开发文件系统的幻灯片。