2013-12-24 4 views
3

Я реализовал файловую систему на основе OSXFUSE. Он отлично работает на 10.8, но на Mavericks MS Word открывает существующие документы как пустые (хотя я, кажется, вернул правильные данные - я вижу содержимое в значке предварительного просмотра. Кроме того, если я копирую файл на настоящий жесткий диск и откройте его, он откроется отлично).OSXFUSE - что означает «местный» вариант крепления?

Эта проблема исправлена ​​на Mavericks, если я монтирую свою файловую систему с «локальным» флагом. Однако использование этого флага приводит к другим проблемам - например, похоже, что он заставляет Finder делать более агрессивное кэширование, поэтому некоторые файлы не отображаются в Finder (хотя я могу их использовать в терминале).

В идеале я хочу, чтобы смонтировать файловую систему без этого локального флага (моя реализация хранит файл в сети, поэтому передача этого флага выглядит неправильно), но проблема с пустыми документами Word действительно озадачивает меня.

ответ

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.

Хром и офис, как представляется, основаны на углеродном каркасе (который устарел с горного льва). Я считаю, что проблема как-то связана с Carbon, поскольку приложения, отличные от Carbon, похоже, не затронуты. Каждый раз, когда объем монтируется, Chrome запрашивает возможности и атрибуты тома (и, возможно, больше). Насколько я могу сказать, все эти операции файловой системы возвращаются успешно без каких-либо ошибок. Но с этого момента Office не сможет открыть документы.

На мой взгляд, наиболее вероятными причинами этого являются:

  1. osxfuse может разорвать контракт VFS файловой системы на Mavericks.Я изучал это в течение некоторого времени, но я не нашел никаких подсказок, подтверждающих это.
  2. Может быть ошибка в каркасе Carbon/CarbonCore. Странно, что нет проблем при использовании файловых систем фондовой сети afp или smb.

Два возможных «исправления» (или, скорее, «обходные пути») для этого вопроса, как представляется, (на данный момент):

  1. Используйте «локальный» вариант монтирования (который может ввести другие проблемы и обычно не рекомендуется использовать)
  2. Не используйте опцию монтирования «volname». Проблема, похоже, возникает только при использовании опции монтирования «volname». Если имя настраиваемого тома не задано, проблема, похоже, не возникает, и Excel/Word/etc. файлы открываются просто отлично - независимо от того, работал ли Google Chrome во время установки.
1

Я видел то же самое, и локально не вариант. Похожие проблемы с Photoshop.

Некоторые выводы из моей реализации

  • Проблема не возникает при первом запуске после перезагрузки.
  • Проблема начинается после выхода программы.
  • Я решил эту проблему путем ручного демонтажа (и ожидания нескольких секунд) перед выходом из моей программы. Если unmount успешно, при следующем запуске mount снова выполняет штраф.
  • Если программа когда-либо завершается или демонтируется (файл используется и т. Д.), То доступ к чтению тома обрабатывается в Word/Photoshop на следующем монтировании.
  • Перезагрузка проблемы разрешений.

Соответствует ли это тому, что вы видите?

+0

Нет, путь, по которому программа ранее выходила, по-видимому, не влияет на это в моем случае. Также проверяется сразу после перезагрузки - нет разницы. Я получаю пустой документ Word 100% случаев, если я не монтирую его с «локальным» флагом. – rincewind