Don't invalidate devices due to unexpected unit attention errors. In

a perfect world, we'd notice the UA and do some device validation to ensure
that the device hasn't changed.  We may get this before the year ends,
but not before 3.0R.  This change gives the adminstrator ample ammunition
to take off a foot or two, but hey this *is* UN*X.
This commit is contained in:
gibbs 1998-09-20 07:17:11 +00:00
parent eccdd13267
commit 9b0d027ad3
2 changed files with 14 additions and 2 deletions

View File

@ -24,7 +24,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $Id$
* $Id: scsi_cd.c,v 1.1 1998/09/15 06:36:34 gibbs Exp $
*/
/*
* Portions of this driver taken from the original FreeBSD cd driver.
@ -2547,6 +2547,12 @@ cderror(union ccb *ccb, u_int32_t cam_flags, u_int32_t sense_flags)
periph = xpt_path_periph(ccb->ccb_h.path);
softc = (struct cd_softc *)periph->softc;
/*
* XXX
* Until we have a better way of doing pack validation,
* don't treat UAs as errors.
*/
sense_flags |= SF_RETRY_UA;
return (cam_periph_error(ccb, cam_flags, sense_flags,
&softc->saved_ccb));
}

View File

@ -25,7 +25,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $Id: scsi_da.c,v 1.3 1998/09/18 22:33:59 ken Exp $
* $Id: scsi_da.c,v 1.4 1998/09/19 04:59:35 gibbs Exp $
*/
#include <sys/param.h>
@ -1281,6 +1281,12 @@ daerror(union ccb *ccb, u_int32_t cam_flags, u_int32_t sense_flags)
periph = xpt_path_periph(ccb->ccb_h.path);
softc = (struct da_softc *)periph->softc;
/*
* XXX
* Until we have a better way of doing pack validation,
* don't treat UAs as errors.
*/
sense_flags |= SF_RETRY_UA;
return(cam_periph_error(ccb, cam_flags, sense_flags,
&softc->saved_ccb));
}