void vfs_vnode_sysinit(void) { int error __diagused; dead_rootmount = vfs_mountalloc(&dead_vfsops, NULL); KASSERT(dead_rootmount != NULL); dead_rootmount->mnt_iflag = IMNT_MPSAFE; mutex_init(&vnode_free_list_lock, MUTEX_DEFAULT, IPL_NONE); TAILQ_INIT(&vnode_free_list); TAILQ_INIT(&vnode_hold_list); TAILQ_INIT(&vrele_list); vcache_init(); mutex_init(&vrele_lock, MUTEX_DEFAULT, IPL_NONE); cv_init(&vdrain_cv, "vdrain"); cv_init(&vrele_cv, "vrele"); error = kthread_create(PRI_VM, KTHREAD_MPSAFE, NULL, vdrain_thread, NULL, NULL, "vdrain"); KASSERTMSG((error == 0), "kthread_create(vdrain) failed: %d", error); error = kthread_create(PRI_VM, KTHREAD_MPSAFE, NULL, vrele_thread, NULL, &vrele_lwp, "vrele"); KASSERTMSG((error == 0), "kthread_create(vrele) failed: %d", error); }
/** * Main test function */ int main(int argc, char **argv) { int err = FALSE; config_init(&cfg); config_check(&cfg); vcache_init(); err |= test_compare(); vcache_destroy(); config_destroy(&cfg); return err; }