changeset 4137:8bbbcf1ea205

6545564 machine hang when uata tries to read bad block resulting in additional corrupted blocks/files.
author kc28005
date Mon, 30 Apr 2007 13:20:49 -0700
parents 0fb0a33ca5b7
children c1afdb77f1fa
files usr/src/uts/sun/io/dada/targets/dad.c
diffstat 1 files changed, 3 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/uts/sun/io/dada/targets/dad.c	Mon Apr 30 11:40:27 2007 -0700
+++ b/usr/src/uts/sun/io/dada/targets/dad.c	Mon Apr 30 13:20:49 2007 -0700
@@ -2723,7 +2723,9 @@
 	case CMD_INCOMPLETE:
 		action = dcd_check_error(un, bp);
 		DCD_DO_ERRSTATS(un, dcd_transerrs);
-		(void) dcd_reset_disk(un, pkt);
+		if (action == COMMAND_HARD_ERROR) {
+			(void) dcd_reset_disk(un, pkt);
+		}
 		break;
 
 	case CMD_FATAL: