vcache
vcache[i].vc_addr = NULL;
if (vcache[i].vc_addr == NULL)
vcache[i].vc_age++;
if (vcache[i].vc_age < vcache[oldest].vc_age)
if (vcache[i].vc_addr == vaddr) {
vcache[i].vc_age = 0;
ret = &vcache[i].vc_node;
if (KREAD(vaddr, &vcache[i].vc_node, sizeof(struct vnode)) == 0)
vcache[i].vc_addr = vaddr;
vcache[i].vc_age = 0;
return(&vcache[i].vc_node);
static struct vcache vcache[VCACHE_SIZE];