繁体   English   中英

使用FUSE时如何将所有现有目录挂载到挂载点?

[英]how does all the existing directories get mounted at the mount point when using FUSE?

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

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

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

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

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

您是说您在非空目录上挂载了文件系统,并且可以看到该目录的先前内容吗? (在这种情况下,答案是“不要安装到非空安装点”。通常会引发错误,告诉您不要这样做。)

如果您看到的是用作基本目录的目录中的目录和文件,则这是回送文件系统的正常行为,即fusexmp_fh.c 示例文件系统使用一个安装点,并将该安装点上的所有命令传递到后备目录。 如果使用的目录中包含文件,则现在可以在两个位置看到这些文件,即原始位置和已安装的保险丝目录。

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

是的,您可以使用fusexmp_fh.c作为基本文件系统的基础,尽管不支持扩展元数据,但它具有所有必要的功能。 (但是添加它对于回送来说是微不足道的。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM