code:ifree - ikarishinjieva/unixV6-code-analyze-chs GitHub Wiki
- 释放 指定的INODE块
- 共传入两个参数 dev ino
- dev : 指定设备的设备号
- ino : 指定INODE块在INODE区的序号
7126
7127 /*
7128 * Free the specified I node
7129 * on the specified device.
7130 * The algorithm stores up
7131 * to 100 I nodes in the super
7132 * block and throws away any more.
7133 */
7134 ifree(dev, ino)
7135 {
7136 register *fp;
7137
7139 if(fp->s_ilock)
- 得到设备的filsys结构
7140 return;
7141 if(fp->s_ninode >= 100)
7142 return;
7143 fp->s_inode[fp->s_ninode++] = ino;
- 发生以下两种情况,函数直接返回
- inode空闲数组 置锁
- inode空闲数组 已满
- 参看文件系统之空闲INODE管理
7144 fp->s_fmod = 1;
7145 }
- 指定INODE块 放入 inode空闲数组
- 置 filsys 修改标志
7146 /* ------------------------- */
7147 /* ------------------------- */
7148