ヒューズにreaddir()機能を実装する際に奇妙な問題が発生しています。fuse readdir returns入出力エラー
LS
LS:読んディレクトリ:私はヒューズで任意のディレクトリにある 'LSを' を実行するとき基本的に、私は次のようなエラーが発生します。入力/出力エラー
FILE1.Cのfile2.c
しかし、奇妙なことに、readdirはまさにそれがやろうとしていることをやっています。その特定のディレクトリでは、「file1.c」と「file2.c」の2つのファイルがあり、正しく読むことができます。
問題のデバッグ中に、ヒューズ 'フィラー'機能( 'fuse_fill_dir_t'がreaddir()の引数として渡された)がこのエラーを引き起こしている可能性があることに気付きました。
これは、fill関数を使用して内容を返さずに、単にdebug printfを使用してディレクトリの内容を出力すると、エラーが表示されないからです。
しかし、フィラー関数を使用して内容を返すとすぐに、このエラーが発生します。
私はこれに関連する2つの質問があります。
1)誰もがフィラー関数は、この問題を引き起こしている可能性があります理由についてどのような考えを持っていますか?
2)どのようにしてfuse_fill_dir_t関数のコードの定義を探しますか?私はその種の議論でヒューズの機能のほとんどを見てきましたが、今まで運がなかった。
ご協力いただきましてありがとうございます。
乾杯、
ビナイ
私はOS Xで同じ質問をしています。 –