FUSE 中 FS 的介绍性文档(高和低 API 理解)

Posted

技术标签:

【中文标题】FUSE 中 FS 的介绍性文档(高和低 API 理解)【英文标题】:Introductory documentation for FS in FUSE (High and Low API understanding) 【发布时间】:2021-12-15 08:03:53 【问题描述】:

我正在尝试做一个自定义fs,基本上是从其他文件中读写几个“虚拟文件”,这里的问题不是我想要制作的fs,是在Fuse和FS(文件系统)的开始.

实际上,我正在阅读 Fuse 文档,文档非常好,至少对于了解 FS 工作原理的人来说,最后一点是我找不到的,我想学习 FS 的基础知识知道如何在 Fuse 中构建自己的 FS,从高 API 到低 API。

每个 FS 都可以随心所欲地工作,但需要存在一些通用部分,至少,足够通用,可以存在 FUSE 之类的东西。

我们可以在这里阅读: https://github.com/libfuse/libfuse/blob/master/example/passthrough.c

高等级 API 工作正常,但效率不高,为了提高 FS,我需要低 API。

好的,那么,我需要多少新手文档?理想情况下从一开始就...,对于 FUSE FS.,例如菜鸟问题?

为什么我们需要“打开”一个文件?,我知道,“关闭”一个文件就是将文件与磁盘同步并“关闭”“打开”的文件

这里的“inode”是什么?

文件描述符?

我们需要“锁定”文件意味着什么以及为什么?如果我们锁定一个已经在其他应用程序中打开的文件会发生什么?,我们不能一直看东西..,什么时候需要锁定一个文件,什么时候解锁?

我想我们可以多次打开一个文件(运行“打开”功能),有限制吗?

注意,所有这些,只是几个问题,显示问题的类型,一一回答并不能解决主要问题(如果你回答会帮助我,但不要失去焦点),我不会'连这里的起点都不知道,还是我不知道,这一切都属于FS一般?还是只有FUSE?我正在阅读 API,但即使有描述,我也不明白其中几个是什么意思。

我已经检查了: Using Fuse-Low Level API

不过,这不仅是 Fuse 知识,我知道我对此知之甚少,所以请帮助获得这方面的起点。

谢谢。

【问题讨论】:

【参考方案1】:

如果你不知道file description 或inode 是什么,我建议从一些关于unix 的入门课程开始,例如:Refresher course in computer scienc 是一个很好的例子,请参阅关于 POSIX 文件系统的部分那里(如果您自己搜索,您可以找到满足您需求的其他资源)。然后你可以跟随一些保险丝特定的材料,例如。 Writing a FUSE Filesystem: a Tutorial 或 Develop your own filesystem with FUSE。

【讨论】:

以上是关于FUSE 中 FS 的介绍性文档(高和低 API 理解)的主要内容,如果未能解决你的问题,请参考以下文章

利用s3fs 将 s3 bucket 挂载到Linux目录

如何在 s3fs fuse 中创建 503 错误

使用s3fs-fuse在AWS Linux实例上挂载S3存储桶

从高到低! 英语怎么讲

leveldb无法在wsl1中使用

s3fs 挂载minio为本地文件系统