【发布时间】:2011-12-03 23:25:42
【问题描述】:
我需要开发自己的文件系统。问题是我只需要几个回调中的特定行为(例如读取、写入、打开等),我不想浪费时间处理 Inode 和从头开始创建新的 FS。
我曾经偶然发现 FUSE(用户空间中的文件系统),这几乎是我需要的所有东西,除了 FUSE 有开销(复制到用户和从用户复制),因为它在用户空间中。
是否有类似 FUSE 的东西,但在内核空间中?或者有没有办法避免copy_to和copy_from?
谢谢,
【问题讨论】:
-
你为什么不看一下 FUSE 的内核空间实现的指针?
-
您确定在用户空间执行此操作肯定会导致性能问题吗?因为内核代码非常棘手且难以维护。
-
在 FUSE 内部寻找指针会比我自己学习整个东西更耗时,而我的首要任务是节省时间。
-
是的,我确信用户空间需要 copy_from 和 copy_to 用户 - 两份而不是通常的 FS 需要的一份。
-
我没有问你是否确定它叫 copy_from_user,我问你是否确定这是一个问题。我们知道 FUSE 从用户空间复制数据(实际上,通常是两次,具体取决于 FUSE fs 的实现),但这对您来说真的是个问题吗?
标签: linux filesystems linux-kernel fuse