Index: scsi_da.c =================================================================== RCS file: /private/FreeBSD/src/sys/cam/scsi/scsi_da.c,v retrieving revision 1.162 diff -u -p -r1.162 scsi_da.c --- scsi_da.c 8 Dec 2003 06:29:38 -0000 1.162 +++ scsi_da.c 6 Feb 2004 17:59:30 -0000 @@ -832,6 +832,16 @@ daoninvalidate(struct cam_periph *periph xpt_print_path(periph->path); printf("lost device\n"); + + if (periph->refcount > 0) { + /* + * We've lost device, but it is still open. + * Force clean up and leave the rest for GEOM. + */ + xpt_print_path(periph->path); + printf("device still open, force remove\n"); + periph->refcount = 0; + } } static void