--- kern/vfs_syscalls.c-	Thu Jul 26 16:24:47 2001
+++ kern/vfs_syscalls.c	Thu Jan 24 11:38:17 2002
@@ -431,7 +431,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;
  	cache_purgevfs(mp);	/* remove cache entries for this file sys */
  	if (mp->mnt_syncer != NULL)
@@ -445,8 +447,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;
@@ -459,8 +463,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);
