Chinaunix首页 | 论坛 | 博客
  • 博客访问: 550638
  • 博文数量: 83
  • 博客积分: 6010
  • 博客等级: 准将
  • 技术积分: 1169
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-29 22:34
文章分类

全部博文(83)

文章存档

2011年(3)

2010年(29)

2009年(30)

2008年(21)

我的朋友

分类: LINUX

2008-05-04 16:37:48

linux中inode号——i_ino的分配是在fs/inode.c中的new_inode定义的,该函数为指定的super_block分配一个inode,当然包括为该inode指定i_ino。

 *(struct  *)
;
* ;
(&);
= ();
) {
(&);
.++;
(&->, &);
(&->, &->);
-> = ++;
-> = 0;
(&);
;
从上面的last_ino便是每个文件inode号的变量值,定义为一个静态变量,每次调用时便自加1,这样便使到每个inode都有不同的i_ino :)

注意:
不是所有的inode号都要通过new_inode来分配的,比如的文件系统root的inode。像ext2文件系统是给root指定一个EXT2_ROOT_INO——该值等于2。

阅读(4856) | 评论(0) | 转发(0) |
0

上一篇:内核api

下一篇:强制卸载模块

给主人留下些什么吧!~~