Inode结构:基本资料

王朝other·作者佚名  2008-05-19
宽屏版  字体: |||超大  

inode的基本资料蛮多,在此我很简略的跟各位介绍一下

unsigned long i_ino;

每一个inode都有一个序号,经由super block结构和其序号,我们可以很轻易的找到这个inode。

unsigned int i_count;

在Kernel里,很多的结构都会记录其reference count,以确保如果某个结构正在使用,它不会被不小心释放掉,i_count就是其reference count。

kdev_t i_dev; /* inode所在的device代码 */

umode_t i_mode; /* inode的权限 */

nlink_t i_nlink; /* hard link的个数 */

uid_t i_uid; /* inode拥有者的id */

gid_t i_gid; /* inode所属的群组id */

kdev_t i_rdev; /* 如果inode代表的是device的话,

那此字段将记录device的代码 */

off_t i_size; /* inode所代表的档案大小 */

time_t i_atime; /* inode最近一次的存取时间 */

time_t i_mtime; /* inode最近一次的修改时间 */

time_t i_ctime; /* inode的产生时间 */

unsigned long i_blksize; /* inode在做IO时的区块大小 */

unsigned long i_blocks; /* inode所使用的block数,一个block为512 byte*/

unsigned long i_version; /* 版本号码 */

unsigned long i_nrpages; /* inode所使用的page个数 */

struct page *i_pages;

/* inode使用的page会被放在串行里,这个字段记录着此串行的开头 */

struct super_block *i_sb; /* inode所属档案系统的super block */

unsigned long i_state;

/* inode目前的状态,可以是I_DIRTY,I_LOCK和 I_FREEING的OR组合 */

unsigned int i_flags; /* 记录此inode的参数 */

unsigned char i_pipe; /* 用来记录此inode是否为pipe */

unsigned char i_sock; /* 用来记录此inode是否为socket */

unsigned int i_attr_flags; /* 用来记录此inode的属性参数 */

struct file_lock *i_flock; /* 用来做file lock */

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有