code:maknode - ikarishinjieva/unixV6-code-analyze-chs GitHub Wiki
7451
7452 /*
7453 * Make a new file.
7454 */
7455 maknode(mode)
7456 {
7457 register *ip;
7458
7459 ip = ialloc(u.u_pdir->i_dev);
7460 if (ip==NULL)
- 申请u.u_pdir对应设备上的新INODE块 ip
- 新INODE块 由ialloc置锁
7461 return(NULL);
7462 ip->i_flag =| IACC|IUPD;
7463 ip->i_mode = mode|IALLOC;
- 置 ip 标志位
- 标志常量参看inode.h
7464 ip->i_nlink = 1;
- 置 ip 模式位
- 模式常量参看inode.h
7465 ip->i_uid = u.u_uid;
7466 ip->i_gid = u.u_gid;
7468 returm(ip);
- 将ip链入u.u_pdir,形成目录结构
7469 }
7470 /* ------------------------- */