你能直接修改用户空间中inode的间接 block 吗?

标签 c storage inode

有没有办法在用户空间直接修改inode中的间接 block 指针?

我正在阅读这篇论文 http://www.cis.syr.edu/~wedu/seed/Documentation/Minix3/Inode.pdf但是我从中收集到的信息,就像它的标题所说的那样,它是在操纵 inode,而不是显式修改 inode 中的 block 。

我意识到这听起来很糟糕,我无意为生产使用做这样的事情,这只是为了我自己的知识。

最佳答案

一些文件系统(ext*fs,对于 minix 不确定)优化并将数据(<60 字节)写入 inode 的 block 指针数组。

在这种情况下,您可以只修改与间接 block 指针对应的最后 12 个字节。

不能访问用户空间的 block 指针数组;但是,您可以创建一个 60 字节的文件,然后尝试读取其内容。

关于你能直接修改用户空间中inode的间接 block 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40117076/

相关文章:

c - C 中的全局指针?

c - 为什么下面的输出?

java - 将 int 值存储到文本文件中并读取它?

json - 我在使用arm模板部署存储帐户时遇到问题

c - 固定数字的时间复杂度

我可以从 popen() 流中打开 bash 吗?

python - 扩展 session 中间件

filesystems - Xfs 文件大小、inode 大小和 block 大小

linux - 如何在 ext4 上存储十亿个文件?

linux - 如何在不遍历整个树的情况下判断目录树中的文件是否被更改?