2013-12-24 55 views
3

我已經實現了基於OSXFUSE的文件系統。它在10.8上運行良好,但在小牛MS Word打開現有的文件爲空白(雖然我很明顯,返回正確的數據 - 我看到預覽圖標中的內容。此外,如果我將文件複製到真正的硬盤驅動器和打開它,它打開罰款)。OSXFUSE - 「本地」安裝選項到底意味着什麼?

如果我用「本地」標誌掛載我的文件系統,此問題在小牛上修復。但是,使用此標誌會引入其他問題 - 例如,它看起來會導致Finder執行更積極的緩存,因此某些文件在Finder中不可見(儘管我可以在終端中使用它們)。

理想情況下,我希望能夠在沒有這個本地標誌的情況下掛載文件系統(我的實現在網絡上存儲文件,因此傳遞此標誌看起來是錯誤的),但空白Word文檔的問題真的令我困惑。

回答

1

我們已經能夠追蹤到問題 - 等待它 - Google Chrome。當Google Chrome在裝入卷時運行時,會出現問題。如果谷歌瀏覽器沒有運行,Word/Excel /等。文件打開就好。

我們一直接觸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將無法打開文檔。

在我看來這兩個最可能的原因是:

  1. osxfuse可能打破小牛的VFS文件系統的合同。我已經看了一段時間了,但我還沒有發現任何支持這一點的線索。
  2. Carbon/CarbonCore框架中可能存在一個錯誤。奇怪的是,在使用股票網絡文件系統afp或smb時沒有問題。

兩個可能的「修復」(或者說「變通辦法」)對這個問題似乎是(現在):

  1. 使用「本地」安裝選項(這可能會引入其他問題並且一般不推薦使用)
  2. 請勿使用「volname」裝載選項。這個問題似乎只有在使用「volname」安裝選項時纔會發生。如果沒有設置自定義卷名,問題似乎不會發生,Excel/Word /等。文件打開就好 - 無論Google Chrome是否在安裝時運行。
1

我見過一樣,同樣地方不是一個選項。與Photoshop類似的問題。

從我實現

  • 的問題的一些研究結果不重啓後第一次運行會出現。
  • 程序退出後,問題開始發生。
  • 我在退出程序之前通過手動卸載(並等待幾秒鐘)解決了此問題。如果卸載成功,則在下一次運行時,再次安裝會執行正常。
  • 如果程序終止或卸載失敗(正在使用中的文件等),那麼卷的讀取訪問權將在Word/Photoshop中的下一個裝載中執行。
  • 重新啓動可解決問題。

這是否與您所看到的相符?

+0

不是,程序以前退出的方式似乎沒有影響到我的情況。重新啓動後也立即檢查 - 沒有區別。我得到一個空白的Word文檔100%的情況下,除非我用'本地'標誌掛載它。 – rincewind