目前,我有一个在 configfs 文件系统上创建/读取/写入文件的应用程序。我的 configfs 处理程序调用另一个与设备通信的内核模块中定义的函数。每个 configfs 文件对应于内核中的一个对象,并且该文件/对象上的读/写被映射到设备操作。
最近,我们已经转向用户空间设备。我们现在有了一个可以直接与设备通信的用户空间库。因此,我想迁移此应用程序以使用用户空间库 API。应用程序将创建与之前相同的文件,但在用户空间文件系统上,例如,这些操作的处理程序现在将是用户空间库 API。基本上,用户空间库将取代驱动程序
到目前为止,我已经研究过 FUSE。我看到的问题是它只允许处理程序进行通用操作,如读/写/mkdir 等。我想要像 configfs 提供的更细粒度的控制。例如,我希望能够说出当我创建一个命名的目录,当我读/写一个目录时会发生什么命名的文件等
对于此类文件系统或任何其他方法的任何帮助,我们都会表示赞赏。
编辑:正如 @muru 在评论中提到的,我宁愿避免在用户空间处理程序本身中查看文件名。这是因为当前 configfs 处理程序所做的部分工作是创建其他文件。因此,如果我这样做,我就会遇到这种循环的情况,我的用户空间处理程序创建文件,并且该创建本身有其他处理程序。也许有可能,但对我来说似乎很难看。