Apply by doing:
	cd /usr/src
	patch -p0 < 010_vnode.patch

Then build and install a new kernel.

Index: sys/kern/spec_vnops.c
===================================================================
RCS file: /vol/openbsd/cvs/src/sys/kern/spec_vnops.c,v
retrieving revision 1.69
diff -u -p -r1.69 spec_vnops.c
--- sys/kern/spec_vnops.c	20 Jun 2012 17:30:22 -0000	1.69
+++ sys/kern/spec_vnops.c	8 Nov 2013 19:50:39 -0000
@@ -472,10 +472,11 @@ int
 spec_close(void *v)
 {
 	struct vop_close_args *ap = v;
+	struct proc *p = ap->a_p;
 	struct vnode *vp = ap->a_vp;
 	dev_t dev = vp->v_rdev;
 	int (*devclose)(dev_t, int, int, struct proc *);
-	int mode, error;
+	int mode, relock, error;
 
 	switch (vp->v_type) {
 
@@ -541,7 +542,14 @@ spec_close(void *v)
 		panic("spec_close: not special");
 	}
 
-	return ((*devclose)(dev, ap->a_fflag, mode, ap->a_p));
+	/* release lock if held and this isn't coming from vclean() */
+	relock = VOP_ISLOCKED(vp) && !(vp->v_flag & VXLOCK);
+	if (relock)
+		VOP_UNLOCK(vp, 0, p);
+	error = (*devclose)(dev, ap->a_fflag, mode, p);
+	if (relock)
+		vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, p);
+	return (error);
 }
 
 int