6

私のプロジェクトには、リモート ホストによるブロック デバイスのシミュレーションが含まれます。

テストでは、FUSE を使用しています。私のファイル システムは、定数文字列を返す代わりに、ファイルから直接データを読み取るだけの "hello" サンプル アプリを単純に変更したものです。

ファイルを通常どおりマウントしようとすると (mount -o loop=/dev/loop1 )、うまく機能します。ヒューズをロードしてこのファイルを公開すると、すべての通常のファイル操作が機能します。しかし、「許可が拒否されました」でマウントに失敗します。

「許可が拒否されました」がどこから来ているのか、誰にも分かりますか?

マウント可能な仮想デバイス (ブロックアクセスのみをサポート) をユーザー空間に作成できる他の方法はありますか?

前もって感謝します

4

3 に答える 3

4

おそらく問題は、FUSEファイルシステムがループマウントに必要な機能をサポートしていないことです。

代わりに、NBDやiSCSIターゲットなどのネットワークブロックデバイスを使用することを検討しましたか?

于 2009-10-27T15:14:03.983 に答える
2

root権限で実行していますか?「strace」を使用してプログラムをトレースし、これがどこで失敗したかを正確に確認できます。

于 2009-10-27T15:19:30.823 に答える
1

mount コマンドは、エラーを出力し始めるときに使用するのは本当に地獄です。「-v」を試してみてください。しかし、多くの場合、追加の出力は役に立ちません:(

于 2009-10-27T14:46:59.063 に答える