FUSEファイルシステムのスーパーブロック内のiノードをループバックするにはどうすればよいですか?ドキュメントはこれについて何も指定していない。FUSEファイルシステム操作
答えて
アクティブなFUSEインスタンスのマウントポイントでnftw()
を呼び出すことで、表示されているもの(エントリのあるもの)を反復処理できます。指定したコールバックにはパスが与えられ、ファイルシステムの各エントリにはstruct stat
が与えられます。返されたパスへのシステムコールを介して、対応するinodeと対話することができます。
これを 'nftw'にします。それはやや柔軟性があり、普通の 'ftw'を廃止することを意味すると私は信じている。 –
FUSEはファイルシステムではなく、従来のinodeは含まれていません。これは、UNIXファイルシステムAPIが提供するものの逆を実装するものと考える方が良いです。たとえば、ファイルを開くと、ファイルオープンシステムコールが生成されます。カーネルはそのシステムコールを受け取り、ファイルを返します。
FUSEの機能はカーネルからのもので、システムコールをユーザ空間に戻ってくるFUSEアプリケーションにリダイレクトします。アプリケーションは、そのシステムコールにどのように応答するかを決定し、何かをカーネルに返します。カーネルはその応答を元の呼び出し元のアプリケーションに戻します。
多くの場合、FUSEで何かをマウントすると、物理メディアをマウントしていません。 FUSEファイルシステムでファイルを開くと、おそらく実際のファイルシステム上に一時ファイルを作成し、そのファイルにデータをコピーし、FUSEファイル上のほとんどのファイル操作呼び出しを、作成した一時ファイルにリダイレクトします。
ほとんどのFUSEアプリケーションはstatを実装し、実際のINODE構造体が持つ情報の大部分を提供しますが、その情報には一般的にポインタのアスペクトがありません。
技術的な観点からは、FUSEにEXT3のようなものを実装することができます.FUSEではマウントするEXT3ファイルシステムをマウント引数として使用します。その場合、実際のINODESポインタを使って実際のINODESを想像することができます。しかし、EXT3の実装は、おそらくすべてのファイルシステムコールがユーザ空間からカーネルへ、FUSEのユーザ空間からカーネル、FUSEのユーザ空間からカーネルまで、そしてついにはアプリケーションに戻ることになるため、かなり不評です。パフォーマンスが重要ではないファイルシステムに対して、FUSEはより意味を持ちます。
ありがとう、ありがとう。私はマットは私が後にしている解決策があると思う。 – atx
- 1. FUSEファイルシステムのlibmount相当
- 2. FUSEファイルシステムのデータにアクセスする
- 3. FUSEファイルシステム用のベンチマークツールはありますか?
- 4. JBoss Fuse用アダプタの作成
- 5. PHPとのトランザクションでファイルシステム操作を実行するには?
- 6. ローレベルのプリペンド操作のファイルシステムはありますか?
- 7. VFSStreamでファイルシステム操作をテストしようとしています
- 8. iPhoneファイルシステムの操作に関する質問
- 9. ファイルシステム操作が実際に「フラッシュされた」
- 10. FUSEファイルシステムでLinux VFSキャッシュを使用することは可能ですか?
- 11. 各リクエストをストリームにシリアライズするFUSEファイルシステムは既に存在しますか?
- 12. JbossのファイルシステムからプロパティファイルをロードするFuse/KarafがNullpointerをスローする
- 13. JBoss Fuse OSGiが動作しない
- 14. JBOSS FUSE - コミュニティバージョン
- 15. プロファイリングfuse-python
- 16. Jasperreports OSGI(fuse/karaf)
- 17. go-fuseオープンファイル
- 18. FUSE filesystem with nautilus
- 19. FUSE ESB、hibernate、mysql
- 20. JBoss Fuse Hibernate integration
- 21. ActiveSyncを介して実行されるファイルシステム操作(コピー、削除、移動など)
- 22. Linuxは、擬似コードで実際に保存されたファイルシステムのUID操作
- 23. FUSE - 詳細なドキュメント
- 24. ServiceMix/Fuse ESB + CXF dOSGi
- 25. FUSE ESBのJMXモニター
- 26. ファイルシステム "ドライバ"を作成する
- 27. データ操作の操作
- 28. 何の操作アトミック操作
- 29. Jboss Fuse 6.3のアップデート情報
- 30. fuse esb mina bundle deployエラー
* inodes *をループするのはどういう意味ですか? – kamae
私が言っていることは、各iノードへのポインタを持たせたいということです。 – atx
FUSEはインターフェイスであり、ファイルシステムではありません。 FUSEバックエンドによって表される仮想ファイルシステムは、inodeやスーパーブロックを持たないかもしれず、列挙可能な形式でファイルを表現しないかもしれません。 (例えば、可能なすべてのファイル名を含むFUSEファイルシステムを書くのは簡単です。 – duskwuff