3

OSXFUSE ベースのファイル システムを実装しました。10.8 では正常に動作しますが、Mavericks では MS Word が既存のドキュメントを空白として開きます (ただし、どうやら正しいデータを返しているようです - プレビュー アイコンに内容が表示されます。また、ファイルを実際のハード ドライブにコピーし、それを開く、それは正常に開きます)。

この問題は、「ローカル」フラグを使用してファイル システムをマウントすると、Mavericks で修正されます。ただし、このフラグを使用すると、他の問題が発生します。たとえば、Finder がより積極的なキャッシュを実行するように見えるため、一部のファイルが Finder で表示されません (ただし、ターミナルでそれらを ls することはできます)。

理想的には、このローカルフラグなしでファイルシステムをマウントできるようにしたいのですが (私の実装ではネットワーク上にファイルが保存されるため、このフラグを渡すのは間違っているように見えます)、空白の Word ドキュメントの問題は本当に私を困惑させます。

4

2 に答える 2

1

私は同じことを見てきましたが、同様にローカルはオプションではありません。Photoshop にも同様の問題があります。

私の実装からのいくつかの発見

  • 再起動後の最初の実行では問題は発生しません。
  • プログラムの終了後に問題が発生し始めます。
  • この問題は、プログラムを終了する前に手動でマウント解除 (および数秒待機) することで解決しました。アンマウントが成功すると、次回の実行時にマウントが再び正常に実行されます。
  • プログラムが終了したり、マウント解除に失敗した場合 (ファイルが使用中など)、ボリュームの読み取りアクセスは、次回のマウント時に Word/Photoshop で中断されます。
  • 再起動すると問題が解決します。

これはあなたが見ているものと一致していますか?

于 2014-01-03T18:04:46.107 に答える
1

Google Chrome まで問題を追跡することができました。ボリュームがマウントされている状態で Google Chrome を実行すると、問題が発生します。Google Chrome が起動していない場合は、Word/Excel/etc. ファイルは問題なく開きます。

Benjamin (OSXFUSE 開発者) と連絡を取り合っています。OSXFUSE メーリング リストで、この問題に関する彼の回答も参照してください。

https://groups.google.com/d/msg/osxfuse-group/URlw-n-Qakg/bLw2fHHDe7sJ

これまでのところ、この動作を説明する可能性のある osxfuse のバグは見つかりませんでした。奇妙なことは、ファイルが破損していないか空でないことです。ファイルを別のボリュームにコピーした後、問題なく開きます。LibreOffice を使用して FUSE ボリューム上のファイルを開くこともできます。

Chrome と Office は Carbon フレームワーク (Mountain Lion 以降非推奨) に基づいているようです。Carbon 以外のアプリは影響を受けていないように見えるため、この問題は何らかの形で Carbon に関連していると思います。ボリュームがマウントされるたびに、Chrome はボリュームの機能と属性 (および場合によってはそれ以上) を照会します。私が知る限り、これらすべてのファイル システム操作はエラーなしで成功を返します。ただし、この時点から、Office はドキュメントを開くことができなくなります。

私の意見では、これの最も可能性の高い理由は次の 2 つです。

  1. osxfuse は、Mavericks の VFS ファイル システム コントラクトを破る可能性があります。私はこれをしばらく調べてきましたが、これを裏付ける手がかりは見つかりませんでした。
  2. Carbon/CarbonCore フレームワークにバグがある可能性があります。奇妙なことに、標準のネットワーク ファイル システム afp または smb を使用しても問題はありません。

この問題に対して考えられる 2 つの「修正」(または「回避策」) は、(現時点では) 次のようになります。

  1. 「ローカル」マウント オプションを使用します (他の問題が発生する可能性があるため、一般的には使用をお勧めしません)。
  2. 「volname」マウント オプションは使用しないでください。この問題は、「volname」マウント オプションが使用されている場合にのみ発生するようです。カスタム ボリューム名が設定されていない場合、問題は発生しないようで、Excel/Word/etc. マウント時に Google Chrome が実行されていたかどうかに関係なく、ファイルは問題なく開きます。
于 2014-01-10T11:07:51.930 に答える