Index: kern/vfs_syscalls.c
===================================================================
RCS file: /u/open/cvs/src/sys/kern/vfs_syscalls.c,v
retrieving revision 1.95.2.1
diff -u -r1.95.2.1 vfs_syscalls.c
--- kern/vfs_syscalls.c	13 Oct 2002 20:54:54 -0000	1.95.2.1
+++ kern/vfs_syscalls.c	14 Feb 2003 21:07:41 -0000
@@ -442,7 +442,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)
@@ -456,8 +458,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;
@@ -470,8 +474,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);
