*** kern/vfs_syscalls.c-	Mon Apr  6 05:23:23 1998
--- kern/vfs_syscalls.c	Wed Sep 16 18:29:36 1998
***************
*** 426,432 ****
--- 426,434 ----
  
  	simple_lock(&mountlist_slock);
  	mp->mnt_flag |= MNT_UNMOUNT;
+ #ifndef REES
  	lockmgr(&mp->mnt_lock, LK_DRAIN | LK_INTERLOCK, &mountlist_slock, p);
+ #endif
   	mp->mnt_flag &=~ MNT_ASYNC;
   	vnode_pager_umount(mp);	/* release cached vnodes */
   	cache_purgevfs(mp);	/* remove cache entries for this file sys */
***************
*** 441,448 ****
--- 443,452 ----
   		if ((mp->mnt_flag & MNT_RDONLY) == 0 && mp->mnt_syncer == NULL)
   			(void) vfs_allocate_syncvnode(mp);
  		mp->mnt_flag &= ~MNT_UNMOUNT;
+ #ifndef REES
  		lockmgr(&mp->mnt_lock, LK_RELEASE | LK_INTERLOCK | LK_REENABLE,
  		    &mountlist_slock, p);
+ #endif
  		if (mp->mnt_flag & MNT_MWAIT)
  			wakeup((caddr_t)mp);
  		return (error);
***************
*** 454,461 ****
   	}
  	mp->mnt_vfc->vfc_refcount--;
  	if (mp->mnt_vnodelist.lh_first != NULL)
! 		panic("unmount: dangling vnode");
  	lockmgr(&mp->mnt_lock, LK_RELEASE | LK_INTERLOCK, &mountlist_slock, p);
  	if (mp->mnt_flag & MNT_MWAIT)
  		wakeup((caddr_t)mp);
  	free((caddr_t)mp, M_MOUNT);
--- 458,467 ----
   	}
  	mp->mnt_vfc->vfc_refcount--;
  	if (mp->mnt_vnodelist.lh_first != NULL)
! 		printf("unmount: dangling vnode\n");
! #ifndef REES
  	lockmgr(&mp->mnt_lock, LK_RELEASE | LK_INTERLOCK, &mountlist_slock, p);
+ #endif
  	if (mp->mnt_flag & MNT_MWAIT)
  		wakeup((caddr_t)mp);
  	free((caddr_t)mp, M_MOUNT);
