--- kern/vfs_syscalls.c-	Thu Apr 20 02:32:00 2000
+++ kern/vfs_syscalls.c	Fri Dec 15 10:41:44 2000
@@ -438,7 +438,9 @@
 	simple_lock(&mountlist_slock);
 	mp->mnt_flag |= MNT_UNMOUNT;
 	vfs_unbusy(mp, p);
+#ifndef CITI
 	lockmgr(&mp->mnt_lock, LK_DRAIN | LK_INTERLOCK, &mountlist_slock, p);
+#endif
  	mp->mnt_flag &=~ MNT_ASYNC;
 #if !defined(UVM)
  	vnode_pager_umount(mp);	/* release cached vnodes */
@@ -455,8 +457,10 @@
  		if ((mp->mnt_flag & MNT_RDONLY) == 0 && mp->mnt_syncer == NULL)
  			(void) vfs_allocate_syncvnode(mp);
 		mp->mnt_flag &= ~MNT_UNMOUNT;
+#ifndef CITI
 		lockmgr(&mp->mnt_lock, LK_RELEASE | LK_INTERLOCK | LK_REENABLE,
 		    &mountlist_slock, p);
+#endif
 		if (mp->mnt_flag & MNT_MWAIT)
 			wakeup((caddr_t)mp);
 		mp->mnt_flag &= ~MNT_MWAIT;
@@ -469,8 +473,10 @@
  	}
 	mp->mnt_vfc->vfc_refcount--;
 	if (mp->mnt_vnodelist.lh_first != NULL)
-		panic("unmount: dangling vnode");
+		printf("unmount: dangling vnode\n");
+#ifndef CITI
 	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);
