【问题标题】:Any library providing common used structures and algorithms for FUSE任何为 FUSE 提供常用结构和算法的库
【发布时间】:2011-04-08 00:19:37
【问题描述】:

我将使用 FUSE 编写文件系统原型。除了 FUSE 之外,是否有任何(额外的)实现良好的库,可以提供一些常见的文件系统优化功能,如 dir 缓存、日志、查找表、原子操作等。最好用 C 编写。

顺便说一句,我打算在 OSX 和 Linux 上实现它。这是我将使用 FUSE 而不是本机文件系统的主要问题之一,甚至性能也很重要。

谢谢。

【问题讨论】:

  • 我认为FUSE 是其中之一,因为在此之前人们认为在用户空间中创建一个高效的文件系统是不可能的。否则,您可以将搜索 FUSE 的替代品限制在实际支持 plug-able file systems 的操作系统上。该列表相当短。

标签: c++ c fuse


【解决方案1】:

在 Windows 上,Dokan library 已经存在了一段时间。我一直想玩它,但一直没有机会。它是将所有活动转发回用户模式进程的文件系统驱动程序,以及有助于编写用户模式端的 DLL。它是开源的,并以 LGPL 和 MIT 许可的混合方式获得许可。

曾经有一个 FUSE for Windows 的仿真(或者可能是一个端口)称为 WinFUSE,但我与它的链接现在都已失效。它可能会被发现...

编辑: 维基百科上有一个广泛的List of Filesystems。它似乎没有列出 FUSE 之外的 Linux 上的许多选项。其他乍一看相似的,通常是在 FUSE 之上实现的。

LUFS(Linux 用户空间文件系统)似乎是个例外,但在 2003 年似乎放弃了对它的工作,转而支持 FUSE。

【讨论】:

  • 我认为是因为他提到使用 FUSE,所以他在 Linux 上。
  • 可能是。但他问了一个开放式问题,没有另外指定平台,所以我提供了一个恰好不在 Linux 上的替代方案,希望它是有用的知识。
  • 您好,可能我描述的问题不是很清楚。我将使用 FUSE 来实现文件系统原型。但是,文件系统开发将面临许多常见任务,例如没有提供日志、目录缓存、atomic_ops 等缺失,需要开发人员找到并可能从一个系统包装到另一个系统。
  • 啊。在那里,您可能需要依靠数据结构库和第一原则。或者从现有的文件系统中提取所需的代码并使其适应您的实验。我昨天的搜索并没有发现太多关于那种事情的暗示......
猜你喜欢
  • 2016-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-26
相关资源
最近更新 更多