Index: sys/kern/vfs_subr.c
===================================================================
RCS file: /cvsroot/src/sys/kern/vfs_subr.c,v
retrieving revision 1.357.4.4
diff -u -p -r1.357.4.4 vfs_subr.c
--- sys/kern/vfs_subr.c	16 Feb 2009 03:33:16 -0000	1.357.4.4
+++ sys/kern/vfs_subr.c	12 Mar 2009 12:31:45 -0000
@@ -1422,6 +1422,11 @@ vrelel(vnode_t *vp, int flags)
 		if ((vp->v_type == VBLK || vp->v_type == VCHR) &&
 		    vp->v_specnode != NULL && vp->v_specnode->sn_opencnt != 0) {
 			vprint("vrelel: missing VOP_CLOSE()", vp);
+			printf("vrelel> sn_opencnt: %d\n", vp->v_specnode->sn_opencnt);
+			while (vp->v_specnode->sn_opencnt != 0)
+				/* sn_opencnt is unsigned and can't be negative */
+				VOP_CLOSE(vp, FREAD, FSCRED);
+
 		}
 #endif