if ((error = vflush(mp, rootvp, flags)) != 0)
if ((error = vflush(mp, 0, flags)) != 0)
kernfs_unmount(mp, mntflags, p)	struct mount *mp;	int mntflags;	struct proc *p;{	int error;	int flags = 0;	struct vnode *rootvp = VFSTOKERNFS(mp)->kf_root;#ifdef KERNFS_DIAGNOSTIC	printf("kernfs_unmount(mp = %p)\n", mp);#endif	if (mntflags & MNT_FORCE) {		flags |= FORCECLOSE;	}	/*	 * Clear out buffer cache.  I don't think we	 * ever get anything cached at this level at the	 * moment, but who knows...	 */	if (rootvp->v_usecount > 1)		return (EBUSY);#ifdef KERNFS_DIAGNOSTIC	printf("kernfs_unmount: calling vflush\n");#endif	if ((error = vflush(mp, rootvp, flags)) != 0)		return (error);#ifdef KERNFS_DIAGNOSTIC	vprint("kernfs root", rootvp);#endif	/*	 * Clean out the old root vnode for reuse.	 */	vrele(rootvp);	vgone(rootvp);	/*	 * Finally, throw away the kernfs_mount structure	 */	free(mp->mnt_data, M_MISCFSMNT);	mp->mnt_data = 0;	return (0);}