2013-03-24 14 views
7

ヒューズ(ファイルシステムのユーザスペース、Linux)を使用して自分のファイルシステムを動作させようとしていますか?FUSE - 詳細なドキュメント

ほとんどの時間私は他のファイルシステムの実装を検索し、それらが何をしているかを調べますが、poll/ioctlやbmapのように広く使われていないようです。 とヒューズAPIのドキュメントはそれほど役に立ちません。操作のパラメータと戻り値は文書化されていないので、使用方法を推測する必要があります

このようなエキゾチックな操作がどのように実装されるべきかについてのより良い情報を得るにはどうすればよいですか?

THX

+0

FUSEはオープンソースなので、どうやって何が起こっているのか正確に知る必要はありません。 –

+1

私はSteve-oに同意する必要があります。私は最新のFUSEソースリリース(2.9.2、昨年末に投稿)をダウンロードしました。 fuse.hファイルには、poll、ioctl、およびbmapが記述されています。特定の機能について質問がある場合は、混乱の点を説明する新しい質問を投稿してください。また、それらの機能を使用する必要があることは確かですか?すべてのFUSEファイルシステムですべての機能を使用する必要はありません。たとえば、読み取り専用ファイルシステムのみを表示するFUSEモジュールをいくつか作成しているので、書き込み機能を無視できます。 –

+2

それで、尋ねられたものに議論を戻すために答えは "ヒューズ自体のソースコード"と思われます。 –

答えて

8

はい、あなたはFUSEにはほとんどのドキュメントがあると言っているコメントを読むことができます右、多くの場所です。おそらく、それはあまりにも文書化されているからです。あるいは、実装は、ユーザー空間ファイルシステムのトレードオフを十分に理解している人のためのものです。だから、おそらくあなたは、次のドキュメントを参照してくださいすることができ、チュートリアル、詳細については、スライドまたは偶数サンプルコード:(?日から元のドキュメント)

FUSE設計書:

http://www.youblisher.com/p/31627-fuse/

http://wr.informatik.uni-hamburg.de/_media/research/labs/2008/2008-03-michael_kuhn-container_library_and_fuse_container_file_system-report.pdf

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

http://www.cs.nmsu.edu/~pfeiffer/fuse-tutorial/

サンプルコード:

http://fuse.sourceforge.net/helloworld.html

、おそらくこれは多くの研究志向:

http://www.msrsas.org/docs/sastech_journals/archives/May2011/2.pdf

https://code.google.com/p/s3fs/wiki/FuseOverAmazon

しかし、一般的に(いくつかの複雑なアルゴリズムによって解決することができる)の問題/問題の多くは、Linusは「おもちゃ」として、それをコメントしている理由である、ユーザー空間でのファイルシステムを実装してあります。

https://ceph.com/dev-notes/linus-vs-fuse/

15Apr2015アップデート:私はちょうどこの発見

(および他の多くのスライドを - ちょうどこのWebページの右側を見て):

http://www.slideshare.net/adorepump/fuse-developing-fillesystems-in-userspace

+1

公式のドキュメント:https://libfuse.github.io/doxygen/index.html プロジェクトサイトを融合する:https://github.com/libfuse/libfuse –