--- a/sys/vm/vm_swap.c +++ b/sys/vm/vm_swap.c @@ -282,6 +282,11 @@ error = EBUSY; goto done; } + if (vp->v_type == VCHR && vp->v_rdev != NULL && + sp->sw_device == vp->v_rdev) { + error = EBUSY; + goto done; + } if (!sp->sw_vp) goto found;