1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-29 12:03:03 +00:00
Mirror of the FreeBSD src repository https://git.FreeBSD.org/src.git .
Go to file
Justin T. Gibbs 8ecec21da6 White space cleanup and other cosmetic style changes.
Fix a few panics during error recovery:
1) Stupid mistake in the "no SCB match handler"  where I was using the wrong
   variable (busy_scbid instead of scb_index).
2) Unbusy the target of an abort request if the command we are trying to
   abort is an untagged transaction.  If we don't, we get a fatal NO_MATCH_BUSY
   condition which "should never happen".
3) When an abort completes, turn off ahc->in_timeout or else the next timeout
   will hit the protective "scb timesout again" panic.
4) Fix a typo that caused the requeued "abort" SCB to have its TAG_ENB and
   disconnect bits to be cleared (missing ~) so that devices would complain
   about overlapped commands.

Be sure to turn off the unexpected busfree interrupt after we do a bus
reset since we are expecting the bus to go free in that case.

Return XS_TIMEOUT instead of XS_DRIVERSTUFFUP in certain scenarios.  XS_TIMEOUT
allows for retries, XS_DRIVERSTUFFUP does not.

Allow commands with SDTR and WDTR negotiation to be tagged.  The SCSI II spec
says that you probably should not do this for fear of hitting bogus devices.
The driver did this in the past for almost two years without any problem,
and not doing it causes problems during error recovery to a tag capable device
as the number of openings is higher than two and we'll start sending it
tagged commands causing "overlapped commands attempted" type errors.  The
real fix needs to happen in the generic SCSI layer which can limit the
number and type of transactions to a device during error recovery efficiently.

Give ourselves at least 100ms to perform a request sense instead of relying
on the original timeout to be long enough to complete this new command as
well as the one that generated the condition.

Removed some redundant code.
1997-02-03 02:16:16 +00:00
bin
contrib
eBones
etc Use shifts instead of multiplications and |' instead of +' to simplify 1997-01-27 06:24:10 +00:00
games Instead of swapping ruid and euid before and after touching user's file, 1997-02-01 21:30:50 +00:00
gnu Fix a bug involving alias (N_INDR) symbols. When building a shared 1997-02-01 20:28:38 +00:00
include Change to comment for fs_passno to reflect that it applies 1997-01-28 06:11:45 +00:00
lib Cruft cleanup to eliminate useless warnings 1997-02-02 21:33:37 +00:00
libexec Make username size dependant on MAXLOGNAME in sys/param.h. Was 1997-02-02 14:43:32 +00:00
lkm Make ibcs2 a little bit saver. Add copyright. 1997-02-02 14:40:38 +00:00
release Institute a fairly major format overhaul. 1997-02-01 01:08:35 +00:00
sbin Add the a' option (`auto-size'') to bypass all tape length 1997-02-01 23:44:19 +00:00
secure
share Update the installation section for the current version of CVSup. List 1997-02-02 23:41:54 +00:00
sys White space cleanup and other cosmetic style changes. 1997-02-03 02:16:16 +00:00
tools Add a tools to get at the primary or grown defect list of a SCSI disk. 1997-02-02 11:39:51 +00:00
usr.bin Cruft cleanup to eliminate useless warnings 1997-02-02 21:33:37 +00:00
usr.sbin Fix a benign typo (benign by now, since sizeof(VarLoginScript) == 1997-02-02 19:13:25 +00:00
COPYRIGHT
Makefile Add uudecode to lib-tools so that the -p option is available for 1997-01-21 13:12:10 +00:00
README

This is the top level of the FreeBSD source directory.  This file
was last revised on: $FreeBSD$

For copyright information, please see the file COPYRIGHT in this
directory (additional copyright information also exists for some
sources in this tree - please see the specific source directories for
more information).

The Makefile in this directory supports a number of targets for
building components (or all) of the FreeBSD source tree, the most
commonly used one being ``world'', which rebuilds and installs
everything in the FreeBSD system from the source tree except the
kernel.  Please see the top of the Makefile for more information on
the standard build targets and compile-time flags.

Building a kernel with config(8) is a somewhat more involved process,
documentation for which can be found at:
   http://www.freebsd.org/handbook/kernelconfig.html
And in the config(8) man page.

The sample kernel configuration files reside in the sys/i386/conf
sub-directory (assuming that you've installed the kernel sources), the
file named GENERIC being the one used to build your initial installation
kernel.  The file LINT contains entries for all possible devices, not
just those commonly used, and is meant more as a general reference
than an actual kernel configuration file (a kernel built from it
wouldn't even run).


Source Roadmap:
---------------
bin		System/User commands.

contrib		Packages contributed by 3rd parties.

eBones		Kerberos package - NOT FOR EXPORT!

etc		Template files for /etc

games		Amusements.

gnu		Various commands and libraries under the GNU Public License.
		Please see gnu/COPYING* for more information.

include		System include files.

lib		System libraries.

libexec		System daemons.

lkm		Loadable Kernel Modules.

release		Release building Makefile & associated tools.

sbin		System commands.

secure		DES and DES-related utilities - NOT FOR EXPORT!

share		Shared resources.

sys		Kernel sources.

tools		Utilities for regression testing and miscellaneous tasks.

usr.bin		User commands.

usr.sbin	System administration commands.


For information on synchronizing your source tree with one or more of
the FreeBSD Project's development branches, please see:

  http://www.freebsd.org/handbook/synching.html