|
系统:
RH9, kernel 2.4.20-8
我修改了ext2文件系统的inode的一些操作, 希望可以利用ext2_inode里面的一个没被用到的字段来存储我需要的信息.
这个通过修改linux/fs/ext2/inode.c里面的
ext2_read_inode
跟
ext2_update_inode
还有linux/include/linux/fs.h的inode结构(添加一个字段)
可以完成.
因为我觉得涉及到inode读写的操作最终都是通过这两个函数来操作的.
并且通过我自己添加的系统调用(读, 写)来证明是可行的.
但是出现一个问题
被我修改过那个字段的inode所对应的文件, 只要文件的内容被修改过, 那个字段的信息就会丢失. 但是如果知识读文件, 修改文件访问数行(chmod)或者增加链接(ln), 都不会导致那个字段的丢失.
我在源码里面搜索过那个字段是没有被用到的, 这个应该可以保证.
想请教一下各位, 到底文件读写在更新inode的时候(例如访问时间, 修改时间), 是怎样做到修改inode的呢? 又或者说, 系统是否在读入了inode之后又对inode做过一些什么操作导致丢失了原来的一些信息呢? |
|