2013-12-24 21 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