code:ifree - ikarishinjieva/unixV6-code-analyze-chs GitHub Wiki

Source

  • 释放 指定的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

7138     fp = getfs(dev);

  • 得到设备的filsys结构
7139     if(fp->s_ilock)

7140          return;

7141     if(fp->s_ninode >= 100)

7142          return;

7143     fp->s_inode[fp->s_ninode++] = ino;

7144     fp->s_fmod = 1;

  • 指定INODE块 放入 inode空闲数组
  • 置 filsys 修改标志
7145 }

7146 /* ------------------------- */

7147 /* ------------------------- */

7148

Ref

Caller

⚠️ **GitHub.com Fallback** ⚠️