【问题标题】:A FUSE like file system类似 FUSE 的文件系统
【发布时间】: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


【解决方案1】:

如果您想节省时间,请在 FUSE 中实现,当您的功能完整且稳定时,请考虑将其移植到内核中。

复制性能很可能不会成为障碍,因此可以避免内核移植。

  • Rick “过早的优化是万恶之源”

【讨论】:

    猜你喜欢
    • 2014-04-22
    • 1970-01-01
    • 2017-10-04
    • 2011-12-11
    • 1970-01-01
    • 2012-10-16
    • 2017-09-19
    • 2013-08-09
    • 2020-09-12
    相关资源
    最近更新 更多