Could you build a custom kernel with this change: src/sys/kern/vfs_vnode.c around line 645 if ((vp->v_type == VBLK || vp->v_type == VCHR) && vp->v_specnode != NULL && vp->v_specnode->sn_opencnt != 0) { + printf("dev %d, %d\n", major(vp->v_specnode->sn_rdev), + minor(vp->v_specnode->sn_rdev)); vprint("vrelel: missing VOP_CLOSE()", vp); } This should print the device (major, minor) missing a close. Which device? Always the same?
Thanks! The culprit was a wedge assigned to a partition with size 0 (I had set the partition type to "unknown" instead of "unused" when removing it). After properly deleting this partition and wedge, everything works as it should.