需求:通过传入ROOT_NODE来构造一个MountFS
现状:
找到这个函数,但是返回的是MountFSInode的ref,直接解引用会违反所有权规则
为什么要获取这个,这个对于文件系统而言是透明的。
参考这个函数即可实现你要的功能:
此代码可以创建ramfs,但要将其挂载到对应目录下,需要传入Arc<MountFSInode>。
曾尝试在该函数中添加语句,在根目录下创建ram目录但不进行迁移,实测创建成功但无法在目录下mkdir。
那是因为你实现的新的ramfs有问题,mountfs相关的东西,对于具体的文件系统而言是透明的。当你考虑到要在具体文件系统中获取mountfs相关的数据的时候,说明思路错了。可以参考procfs和devfs的初始化的写法。
如果无法mkdir,一种常见的错误可能是因为你的ramfs的inode没有正确实现open和close函数。
1 个赞
用的是当前库的代码。
找到问题了,感谢解答
发现是novashell里的目录解析bug导致在用户程序shell无法mkdir,在自己编写的用户程序中调用相同的接口能够实现创建目录,这个bug已修复,已在github上发起PR。
已在github回复
1 个赞