Home | History | Annotate | Download | only in scsipi
History log of /src/sys/dev/scsipi/scsipi_verbose.c
RevisionDateAuthorComments
 1.37  27-Jun-2025  andvar Grammar and spelling fixes, mainly in comments. A few in documentation,
logging, test description, and SCSI ASC/ASCQ assignment descriptions.
 1.36  28-Dec-2023  andvar branches: 1.36.2;
s/informtion/information/ in comments.
 1.35  05-Jun-2021  pgoyette As with usbverbose and pciverbose, these modules are not safe to be
auto-unloaded. Disable for now.

All of these need to be updated with an appropriate refcount mechanism
to ensure that the code and/or tables aren't unloaded while they are
being used.
 1.34  16-Sep-2018  mrg branches: 1.34.16; 1.34.20;
don't print a blank line that ends up in logs and console output.
 1.33  17-Sep-2016  kardel branches: 1.33.8; 1.33.14; 1.33.16;
ASC/ASCQ table updated from http://www.t10.org/lists/asc-num.txt 2016-07-30
 1.32  25-Jul-2010  pgoyette branches: 1.32.18; 1.32.36; 1.32.40;
Move setting of scsi_verbose_loaded flag into the module's init routine.
This ensures that the flag is set even if the module was manually loaded
by the user rather than just auto-loaded.
 1.31  07-Jun-2010  pgoyette Update scsiverbose module to use module_autoload() rather than module_load().
Load the module right before each attempt to use its features, and let the
module subsystem handle unloading.
 1.30  30-May-2010  pgoyette Extract SCSIVERBOSE into a kernel module. The module can be builtin
by defining 'options SCSIVERBOSE' in the kernel config file (no change
from current behavior), or it can be loaded at boot time on those
architectures that support the boot loader's "load" command.

The module is built for all architectures, whether or not SCSI or
atapi support exists.
 1.29  28-Apr-2008  martin branches: 1.29.20; 1.29.22;
Remove clause 3 and 4 from TNF licenses
 1.28  11-Dec-2005  christos branches: 1.28.70; 1.28.72; 1.28.74;
merge ktrace-lwp.
 1.27  29-May-2005  christos - Sprinkle const
- Avoid variable shadowing.
- Eliminate some caddr_t abuse.
 1.26  21-Feb-2005  thorpej Part 1 of a cleanup pass over the SCSI subsystem. The aim is to name
everything "scsi_*", since we really are talking about the SCSI command
set, ATAPI transport not withstanding. Improve the names of many structures,
and prepend "SCSI_" onto all SCSI command opcodes. Place items described
by the SCSI Primary Commands document into scsi_spc.h.
 1.25  01-Feb-2005  reinoud Backing out changes to clean up scsipi. I was pointed out there were
problems i hadn't seen. To prevent lossage i'd decided to back off all
changes and let them be reviewed on tech-kern.
 1.24  31-Jan-2005  reinoud As part of cleaning up sys/scsipi, replace all u_char by uint8_t and
replace all `short' with int16_t.
 1.23  21-Aug-2004  thorpej branches: 1.23.4; 1.23.6;
Use ANSI function decls and make use of static.
 1.22  23-Apr-2004  itojun use bounded string ops
 1.21  22-Apr-2004  itojun sprintf -> snprintf
 1.20  16-Mar-2004  bouyer cbd -> cdb
Command Block Descriptor -> Command Descriptor Block
Pointed out by Allen Briggs.
 1.19  15-Mar-2004  bouyer Extract the code printing the CBD from scsipi_print_sense(), so that it's
usable in other context.
Use the new scsipi_print_cbd() to dump the command in case of timeout
in siop/esiop.
 1.18  03-Dec-2003  bjh21 Synchronise with <ftp://ftp.t10.org/t10/drafts/spc3/asc-num.txt>:

SCSI ASC/ASCQ Assignments
Numeric Sorted Listing
as of 9/12/03
 1.17  22-Oct-2003  mycroft Add a code that appeared in a PR recently.
 1.16  28-May-2002  drochner branches: 1.16.6;
add translations for two ASC/ASCQs which occur before
the DVD player's region code is dealt with
 1.15  15-Nov-2001  lukem branches: 1.15.8;
don't need <sys/types.h> when including <sys/param.h>
 1.14  13-Nov-2001  lukem add RCSIDs
 1.13  20-Aug-2001  ad Add descriptions for Medium Not Present ASCQs.
 1.12  25-Apr-2001  bouyer branches: 1.12.2;
Pull up the thorpej_scsipi branch to main branch.
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
(no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
will be requeued, or a REQUEST SENSE will be sent as appropriate.

Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
 1.11  30-Mar-2000  augustss branches: 1.11.6;
Get rid of register declarations.
 1.10  24-Feb-1999  jwise branches: 1.10.8;
Fix typo.

Fixes last part of PR bin/6883 from Soren S. Jorvang <soren@t.dk>.
 1.9  17-Nov-1998  bouyer Rename scsi_interpret_sense() to scsipi_interpret_sense() and move it from
scsi_base.c to scsipi_base.c. Rename the functions from scsi_verbose.c
too, and rename the file itself. Cleaup includes too (scsi_*.h should not
be #included in scsipi_*.h files, which are supposed to be
common to atapi and scsi).
 1.8  15-Aug-1998  mycroft Assign my copyrights to TNF.
 1.7  30-Jul-1998  mjacob opt_scsiverbose.h now is opt_scsi.h and contains the defopted
SCSIVERBOSE and the new ST_ENABLE_EARLYWARN.
 1.6  11-Jul-1998  mjacob Clarify that Sense Key 1 is a "RECOVERED ERROR"- not just an error.
 1.5  10-Jul-1998  mjacob hmm, char sign extension bit me
 1.4  01-Jul-1998  mjacob Align output for Tape specific bits and use new Sense Key defines (for clarity)
 1.3  24-Jun-1998  mjacob When printing an error, print more than just the opcode. Print the
entire CDB, whose length is actually deterministic. This makes a *big*
difference when actually trying to bind errors to commands.
 1.2  15-Apr-1998  mjacob a tab crept in
 1.1  28-Mar-1998  christos Split out the verbose printing of scsi messages, so that user programs
can use the printing routines.
 1.10.8.2  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.

Main changes to the scsipi code itself:
- add a scsipi_channel->type to allow umass to attach to both atapibus and
scsibus. Will die when IDE is converted from ata_atapi_attach to
scsipi_channel/scsipi_adapter
- Add a chan_defquirks to scsipi_channel so that adapters can pass a default
set of quirks to be set for each device attached
- add adapt_getgeom and adapt_accesschk callbacks
 1.10.8.1  19-Oct-1999  thorpej Completely rewritten scsipi_xfer execution engine:
- All xfers are queued in the mid-layer, rather than doing so in an
ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
(no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
the need to use buggy tag ID allocation schemes in many adapter drivers).

There is a lot more work to do, but this correctly functions for the most
part on several file servers I run.
 1.11.6.5  20-Jun-2002  nathanw Catch up to -current.
 1.11.6.4  08-Jan-2002  nathanw Catch up to -current.
 1.11.6.3  14-Nov-2001  nathanw Catch up to -current.
 1.11.6.2  24-Aug-2001  nathanw Catch up with -current.
 1.11.6.1  21-Jun-2001  nathanw Catch up to -current.
 1.12.2.3  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.12.2.2  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.12.2.1  25-Aug-2001  thorpej Merge Aug 24 -current into the kqueue branch.
 1.15.8.1  30-May-2002  gehenna Catch up with -current.
 1.16.6.6  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.16.6.5  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.16.6.4  21-Sep-2004  skrll Fix the sync with head I botched.
 1.16.6.3  18-Sep-2004  skrll Sync with HEAD.
 1.16.6.2  25-Aug-2004  skrll Sync with HEAD.
 1.16.6.1  03-Aug-2004  skrll Sync with HEAD
 1.23.6.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.23.4.1  29-Apr-2005  kent sync with -current
 1.28.74.2  11-Aug-2010  yamt sync with head.
 1.28.74.1  16-May-2008  yamt sync with head.
 1.28.72.1  18-May-2008  yamt sync with head.
 1.28.70.1  02-Jun-2008  mjf Sync with HEAD.
 1.29.22.2  05-Mar-2011  rmind sync with head
 1.29.22.1  03-Jul-2010  rmind sync with head
 1.29.20.1  17-Aug-2010  uebayasi Sync with HEAD.
 1.32.40.1  04-Nov-2016  pgoyette Sync with HEAD
 1.32.36.1  05-Oct-2016  skrll Sync with HEAD
 1.32.18.1  03-Dec-2017  jdolecek update from HEAD
 1.33.16.1  10-Jun-2019  christos Sync with HEAD
 1.33.14.1  30-Sep-2018  pgoyette Ssync with HEAD
 1.33.8.1  23-Sep-2018  martin Pull up following revision(s) (requested by mrg in ticket #1023):

sys/dev/scsipi/scsipi_verbose.c: revision 1.34

don't print a blank line that ends up in logs and console output.
 1.34.20.1  06-Jun-2021  cjep sync with head
 1.34.16.1  17-Jun-2021  thorpej Sync w/ HEAD.
 1.36.2.1  02-Aug-2025  perseant Sync with HEAD

RSS XML Feed