2

我正在尝试使用 FUSE 构建具有重复数据删除功能的新文件系统。

我尝试运行fusexmp_fh.cFUSE 示例部分中提供的内容。但是,在挂载点挂载文件系统后,我可以看到挂载点内的所有现有目录。我不需要那些目录。我希望挂载的文件系统为空。

我尝试搜索,fusexmp_fh.c但找不到添加现有目录的位置。

  • 有人可以向我解释这是如何工作的吗?

  • 可以fusexmp_fh.c作为构建文件系统的基础吗?
  • 它具有所有基本功能吗?
4

1 回答 1

1

你是说你把文件系统挂载到了一个非空目录上,你可以看到该目录之前的内容吗?(在这种情况下,答案是“不要安装到非空的安装点”。通常它会抛出一个错误来告诉你不要这样做。)

如果您看到的是您用作基本目录的目录中的目录和文件,那么这是环回文件系统的正常行为,就是这样fusexmp_fh.c。示例文件系统采用一个挂载点,并将该挂载点上的所有命令传递到一个后备目录。如果您使用包含文件的后备目录,您现在将在两个地方看到这些文件,即原始位置和挂载的 fuse 目录。

如果您想了解目录填充的工作原理,请先查看readdir,并查看stat它返回的项目是如何构造的。每一个都是一个目录条目。

是的,您可以将fusexmp_fh.c其用作基本文件系统的基础,它包含所有必要的部分,尽管不支持扩展元数据。(但添加它对于环回来说是相当微不足道的。)

于 2014-03-12T00:14:50.520 回答