Apply by doing
	cd /usr/src/sys/miscfs/union
	patch -p0 < unionfs.patch

And then rebuild your kernel.

Index: union_vnops.c
===================================================================
RCS file: /cvs/src/sys/miscfs/union/union_vnops.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- union_vnops.c	1997/11/06 05:58:54	1.9
+++ union_vnops.c	1998/07/13 02:52:01	1.10
@@ -1,4 +1,4 @@
-/*	$OpenBSD: union_vnops.c,v 1.9 1997/11/06 05:58:54 csapuntz Exp $	*/
+/*	$OpenBSD: union_vnops.c,v 1.10 1998/07/13 02:52:01 csapuntz Exp $	*/
 /*	$NetBSD: union_vnops.c,v 1.30.4.1 1996/05/25 22:10:14 jtc Exp $	*/
 
 /*
@@ -1591,8 +1591,10 @@
 
 	union_diruncache(un);
 
+	VOP_UNLOCK(ap->a_vp, 0, ap->a_p);
+
 	if ((un->un_flags & UN_CACHED) == 0)
-		vgone(ap->a_vp);
+		vrecycle(ap->a_vp, (struct simplelock *)0, ap->a_p);
 
 	return (0);
 }
