cvs commit: src Makefile.inc1 src/lib/libcam Makefile src/sbin/camcontrol Makefile camcontrol.c src/share/mk bsd.libnames.mk src/sys/bus/cam cam.c cam.h cam_ccb.h cam_debug.h cam_periph.c cam_xpt.c cam_xpt.h src/sys/bus/cam/scsi scsi_all.c ...
Peter Avalos
pavalos at crater.dragonflybsd.org
Sun Nov 18 09:54:30 PST 2007
pavalos 2007/11/18 09:53:02 PST
DragonFly src repository
Modified files:
. Makefile.inc1
lib/libcam Makefile
sbin/camcontrol Makefile camcontrol.c
share/mk bsd.libnames.mk
sys/bus/cam cam.c cam.h cam_ccb.h cam_debug.h
cam_periph.c cam_xpt.c cam_xpt.h
sys/bus/cam/scsi scsi_all.c scsi_all.h scsi_cd.c scsi_ch.c
scsi_da.c scsi_pass.c scsi_pass.h
scsi_pt.c scsi_sa.c scsi_ses.c
sys/conf files
sys/sys libkern.h
usr.bin/kdump mkioctls
Added files:
sys/libkern bsearch.c
Log:
Rewrite of the CAM error recovery code.
Some of the major changes include:
- The SCSI error handling portion of cam_periph_error() has
been broken out into a number of subfunctions to better
modularize the code that handles the hierarchy of SCSI errors.
As a result, the code is now much easier to read.
- String handling and error printing has been significantly
revamped. We now use sbufs to do string formatting instead
of using printfs (for the kernel) and snprintf/strncat (for
userland) as before.
There is a new catchall error printing routine,
cam_error_print() and its string-based counterpart,
cam_error_string() that allow the kernel and userland
applications to pass in a CCB and have errors printed out
properly, whether or not they're SCSI errors. Among other
things, this helped eliminate a fair amount of duplicate code
in camcontrol.
We now print out more information than before, including
the CAM status and SCSI status and the error recovery action
taken to remedy the problem.
Obtained-from: FreeBSD
Revision Changes Path
1.109 +2 -2 src/Makefile.inc1
1.5 +3 -0 src/lib/libcam/Makefile
1.6 +2 -2 src/sbin/camcontrol/Makefile
1.5 +85 -111 src/sbin/camcontrol/camcontrol.c
1.11 +1 -0 src/share/mk/bsd.libnames.mk
1.7 +230 -3 src/sys/bus/cam/cam.c
1.6 +55 -3 src/sys/bus/cam/cam.h
1.10 +108 -11 src/sys/bus/cam/cam_ccb.h
1.4 +1 -1 src/sys/bus/cam/cam_debug.h
1.25 +444 -472 src/sys/bus/cam/cam_periph.c
1.40 +607 -28 src/sys/bus/cam/cam_xpt.c
1.3 +3 -1 src/sys/bus/cam/cam_xpt.h
1.11 +831 -998 src/sys/bus/cam/scsi/scsi_all.c
1.8 +54 -40 src/sys/bus/cam/scsi/scsi_all.h
1.36 +46 -52 src/sys/bus/cam/scsi/scsi_cd.c
1.22 +27 -28 src/sys/bus/cam/scsi/scsi_ch.c
1.43 +38 -29 src/sys/bus/cam/scsi/scsi_da.c
1.23 +28 -198 src/sys/bus/cam/scsi/scsi_pass.c
1.4 +4 -0 src/sys/bus/cam/scsi/scsi_pass.h
1.20 +2 -3 src/sys/bus/cam/scsi/scsi_pt.c
1.24 +6 -6 src/sys/bus/cam/scsi/scsi_sa.c
1.24 +3 -2 src/sys/bus/cam/scsi/scsi_ses.c
1.194 +1 -0 src/sys/conf/files
1.16 +2 -0 src/sys/sys/libkern.h
1.8 +1 -1 src/usr.bin/kdump/mkioctls
http://www.dragonflybsd.org/cvsweb/src/Makefile.inc1.diff?r1=1.108&r2=1.109&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libcam/Makefile.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/sbin/camcontrol/Makefile.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/sbin/camcontrol/camcontrol.c.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/share/mk/bsd.libnames.mk.diff?r1=1.10&r2=1.11&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/cam.c.diff?r1=1.6&r2=1.7&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/cam.h.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/cam_ccb.h.diff?r1=1.9&r2=1.10&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/cam_debug.h.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/cam_periph.c.diff?r1=1.24&r2=1.25&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/cam_xpt.c.diff?r1=1.39&r2=1.40&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/cam_xpt.h.diff?r1=1.2&r2=1.3&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/scsi/scsi_all.c.diff?r1=1.10&r2=1.11&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/scsi/scsi_all.h.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/scsi/scsi_cd.c.diff?r1=1.35&r2=1.36&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/scsi/scsi_ch.c.diff?r1=1.21&r2=1.22&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/scsi/scsi_da.c.diff?r1=1.42&r2=1.43&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/scsi/scsi_pass.c.diff?r1=1.22&r2=1.23&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/scsi/scsi_pass.h.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/scsi/scsi_pt.c.diff?r1=1.19&r2=1.20&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/scsi/scsi_sa.c.diff?r1=1.23&r2=1.24&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/scsi/scsi_ses.c.diff?r1=1.23&r2=1.24&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/conf/files.diff?r1=1.193&r2=1.194&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/libkern.h.diff?r1=1.15&r2=1.16&f=u
http://www.dragonflybsd.org/cvsweb/src/usr.bin/kdump/mkioctls.diff?r1=1.7&r2=1.8&f=u
More information about the Commits
mailing list