出于学术目的,我正在搞乱一些文件系统。 我的目标之一是在每个文件系统中创建一个目录循环。 目前我困在ext4由于某种原因不会像其他人一样工作。通过操作ext4创建目录循环
我创建了两个文件夹'top'和'bottom',并尝试操纵ext4的磁盘结构来创建从底部到顶部的某种硬链接,导致无限循环。
问题是,当我浏览文件系统与ls
,它要么不显示这两个文件夹(虽然我只操纵底部一个),或者表明顶部,但里面顶部的目录列表被打破如下:
ls: Access to bottom not possible: I/O Error (freely translated from german)
total 2
drwxr-xr-x 3 root root 1024 Nov 14 15:49 .
drwxr-xr-x 4 root root 1024 Nov 14 15:48 ..
d????????? ? ? ? ? ? bottom
我花了这么远的步骤是:
- 找到了顶部(项12)的索引节点inode表项,看它指向块3510
- 下一页inode表项是底部(条目13),看它是否指向块3511
- 转到块3510,让。和..原封不动但改变底部的inode数量到12
- 尝试访问
ls
目录 - >错误 - 转到块3511,更改。到索引节点12,..到索引节点2(用于根目录)
- 尝试用
ls
访问目录 - >错误 - 变化索引节点在节点表条目13,让它指向方框3510
- 同样的错误照常
我知道索引节点和inode条目中的范围树有hashsums,但我的理解是步骤1到3不应使这些哈希值中的任何一个无效。 我对ls
内部工作的理解可能很低,以查明我在这里做错了什么。
有人知道我做错了什么,或者有没有更好的方法来实现我想要做的?非常感谢帮助,因为我需要这个循环来完成我的学士论文。