summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorgw25295 <none@none>2006-08-25 16:44:08 -0700
committergw25295 <none@none>2006-08-25 16:44:08 -0700
commitadcafb0fe4c49c4d46c0b393dfba36d4e1b55c0e (patch)
tree711ddedfdce04e098404f8e47dbc84a52873395b /usr/src
parentbfec485cb59a4a6ed2a407550a0aef666cbc4a1f (diff)
downloadillumos-joyent-adcafb0fe4c49c4d46c0b393dfba36d4e1b55c0e.tar.gz
6456939 sd_send_scsi_SYNCHRONIZE_CACHE_biodone() can issue TUR which calls biowait()and deadlock/hangs host
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/common/io/scsi/targets/sd.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/usr/src/uts/common/io/scsi/targets/sd.c b/usr/src/uts/common/io/scsi/targets/sd.c
index 14152fac1f..7cb94d7681 100644
--- a/usr/src/uts/common/io/scsi/targets/sd.c
+++ b/usr/src/uts/common/io/scsi/targets/sd.c
@@ -20309,14 +20309,14 @@ sd_send_scsi_SYNCHRONIZE_CACHE_biodone(struct buf *bp)
}
/* FALLTHRU */
default:
- /* Ignore error if the media is not present */
- if (sd_send_scsi_TEST_UNIT_READY(un, 0) != 0) {
- status = 0;
- goto done;
+ /*
+ * Don't log an error message if this device
+ * has removable media.
+ */
+ if (!un->un_f_has_removable_media) {
+ scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
+ "SYNCHRONIZE CACHE command failed (%d)\n", status);
}
- /* If we reach this, we had an error */
- scsi_log(SD_DEVINFO(un), sd_label, CE_WARN,
- "SYNCHRONIZE CACHE command failed (%d)\n", status);
break;
}