readdir()
ヒューズに機能を実装しているときに奇妙な問題が発生します。基本的にls
、ヒューズの任意のディレクトリで行うと、次のようなエラーが発生します。
# ls
ls: ディレクトリの読み込み .: 入出力エラー
file1.c file2.c
しかし、奇妙なことは、readdir()
それがやるべきことを正確にやっているということです。その特定のディレクトリに、 と という名前の 2 つのファイルがfile1.c
ありfile2.c
、正しく読み取ることができるという意味で。
filler
問題をデバッグしているときに、ヒューズ関数 (fuse_fill_dir_t
に引数として渡されるreaddir()
) がこのエラーの原因である可能性があることに気付きました。
これはprintf
、フィラー関数を使用して内容を返さずに、デバッグを使用してディレクトリの内容を単に出力すると、エラーが表示されないためです。
しかし、フィラー関数を使用してコンテンツを返すとすぐに、このエラーが発生し始めます。
これに関連して 2 つの質問があります。
filler
1)関数がこの問題を引き起こしている理由について、誰かが何か考えを持っていますか?
fuse_fill_dir_t
2)関数のコードの定義を探すにはどうすればよいですか? 私はその種の引数を使用してほとんどのヒューズ関数を調べましたが、今まで運がありませんでした。
どんな助けでも大歓迎です!
乾杯、ビナイ