diff options
author | gw25295 <none@none> | 2006-08-25 16:44:08 -0700 |
---|---|---|
committer | gw25295 <none@none> | 2006-08-25 16:44:08 -0700 |
commit | adcafb0fe4c49c4d46c0b393dfba36d4e1b55c0e (patch) | |
tree | 711ddedfdce04e098404f8e47dbc84a52873395b /usr/src | |
parent | bfec485cb59a4a6ed2a407550a0aef666cbc4a1f (diff) | |
download | illumos-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.c | 14 |
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; } |