Do not set SCSI_NOSLEEP on every tape command (the exception being during

probes).  Apart from there being no reason to set SCSI_NOSLEEP on every
tape command, this prevents controller drivers from sleeping when resources
are fully utilized causing unecessary "Oops not queued" errors.  This is
only noticed for controllers that can run out of resources like the
27/2842 adaptec controllers.  Before this fix, it is almost impossible to
perform extended tape operations if more than one scsi disk is on the
bus with the tape drive with these controllers.  This does not address a
similar problem that could occur if devices are probed while other targets
are active since SCSI_NOSLEEP will still be set in that case.
This commit is contained in:
Justin T. Gibbs 1995-07-16 09:13:14 +00:00
parent 567e21c2c0
commit ffc2aaf2d8
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=9535

View File

@ -12,7 +12,7 @@
* on the understanding that TFS is not responsible for the correct
* functioning of this software in any circumstances.
*
* $Id: st.c,v 1.36 1995/05/30 08:13:54 rgrimes Exp $
* $Id: st.c,v 1.37 1995/07/09 08:14:24 joerg Exp $
*/
/*
@ -1102,7 +1102,7 @@ ststart(unit, flags)
0, /* can't retry a read on a tape really */
100000,
bp,
flags | SCSI_NOSLEEP) == SUCCESSFULLY_QUEUED) {
flags) == SUCCESSFULLY_QUEUED) {
stqueues++;
} else {
badnews: