想请问一下
1.其他的fs在vfs-init里面初始化跟挂载,我就想让myramfs也在这里实现,就写了一个myramfs-init,可是系统跑起来之后根目录下面有其他三个fs,就是没有myramfs,这是为什么呢
2.尝试用命令mount一个myramfs类型的文件系统到根目录,显示说myramfs不是一个类型,要怎么让系统知道这是一个文件系统类型呢
希望能了解一些大概的逻辑
标题尽可能概括你的问题哈。
1 个赞
可以贴出myramfs的实现以供进一步的讨论。
vfs_init下面,有另一个函数是做文件系统迁移的。你可以照着那个去做就行
这个就声明了他能够被mount -t ramfs
我有在这里说明一个MYRAMFSMAKER,然后在vfs_init下面那个迁移文件系统的函数里面也实现了,make之后kernel panic,说myramfs没有被mount
完整日志之类的发一下。
enoent错误码就是找不到目录所以挂载不上。你是不是没创建成功。迁移的时候也要创建
RAMFSMAKER的用途是:当你使用系统调用挂载ramfs时,系统自动为你匹配ramfs的inode对象初始化。因此RAMFSMAKER与直接在内核初始化过程创建inode挂载的行为是重复的。
你可能并没有在初始化过程中创建ramfs对象。
1 个赞
迁移里面创建myramfs目录的时候没报错,到了mount才报错的吧
你上面的报错,就是在迁移的时候啊。
感谢,重写了一些东西后已经能够挂载