igetput.cpp——内存inode的创建与回收
iget——内存inode的创建
1. hash表的作用
hash队列用来存放内存inode。
但是为什么要弄成队列的样子呢?方便查找?inode编号是唯一的,一个hash表128个队列,假设内存有256个inode
举个栗子,假设要找第129个inode:
inode编号->hash映射得到hash队列编号1->1次就能找到
如果不用hash队列,假设用数组,按照线性存放,要找129次
查找内存inode的操作经常用到,hash表的作用就是为了提高查找内存inode的效率
struct inode * iget(unsigned int dinodeid)
{
int existed = 0, inodeid;
long addr;
struct inode *temp, *newinode;
int i;
inodeid = dinodeid % NHINO;//计算内存结点应该在第几个哈希队列里
if (hinode[in