如何通过osxFUSE设计基于云的文件系统

时间:2017-07-12 10:06:47

标签: macos fuse

目前我正在开发基于FUSE的文件系统,它从云端加载文件并存储在本地缓存中。

在用户端我使用obj-c框架,它包装了Fuse C高级API。

用户可以在已安装的驱动器列表中查看云存储中的所有文件。它只是'ghost'文件,实际上并没有存储在本地缓存中。

当用户双击文件时,开始下载文件。 在引擎盖下,我阻止来自fuse的每个'readFileAtPath'调用,直到加载了请求的文件数据块。

这会导致Finder和其他应用程序出现不同的冻结问题。

例如,当文件加载和读取调用被阻止时,'contentsOfDirectoryAtPath'也被阻止 - 用户无法浏览驱动器,它显示为空,或文件夹内容不完整。

当用户点击文件时,我无法回复错误,我应该下载并提供内容。

现在我在想,这是实现这种功能的正确方法吗? 有类似要求的人谁解决了这些问题?

感谢任何想法。

0 个答案:

没有答案