DragonFly commits List (threaded) for 2008-05
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
cvs commit: src/sys/bus/cam cam_periph.c cam_periph.h cam_queue.c cam_sim.c cam_sim.h cam_xpt.c cam_xpt.h src/sys/bus/cam/scsi scsi_all.c scsi_all.h scsi_cd.c scsi_ch.c scsi_da.c scsi_low.c scsi_pass.c scsi_pt.c scsi_sa.c scsi_ses.c scsi_targ_bh.c ...
pavalos 2008/05/18 13:30:24 PDT
DragonFly src repository
Modified files:
sys/bus/cam cam_periph.c cam_periph.h cam_queue.c
cam_sim.c cam_sim.h 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_low.c scsi_pass.c
scsi_pt.c scsi_sa.c scsi_ses.c
scsi_targ_bh.c scsi_target.c
sys/dev/disk/advansys advansys.c adwcam.c
sys/dev/disk/aha aha.c
sys/dev/disk/ahb ahb.c
sys/dev/disk/aic aic.c
sys/dev/disk/aic7xxx ahc_eisa.c ahc_isa.c ahc_pci.c ahd_pci.c
aic79xx.c aic79xx_osm.c aic7xxx.c
aic7xxx_osm.c aic_osm_lib.h
sys/dev/disk/amd amd.c
sys/dev/disk/ata atapi-cam.c
sys/dev/disk/buslogic bt.c
sys/dev/disk/isp isp_freebsd.c
sys/dev/disk/mpt mpt_freebsd.c
sys/dev/disk/nata atapi-cam.c
sys/dev/disk/ncr ncr.c
sys/dev/disk/sbp sbp.c
sys/dev/disk/sym sym_hipd.c
sys/dev/disk/trm trm.c
sys/dev/disk/vpo vpo.c
sys/dev/raid/aac aac_cam.c
sys/dev/raid/amr amr_cam.c
sys/dev/raid/asr asr.c
sys/dev/raid/ciss ciss.c
sys/dev/raid/dpt dpt_scsi.c
sys/dev/raid/iir iir.c
sys/dev/raid/mly mly.c
sys/dev/raid/twa twa_cam.c
sys/dev/usbmisc/umass umass.c
Log:
Sync CAM with FreeBSD using lockmgr locks instead of mutexes.
Note: This is mostly a code sync with FreeBSD which improves stability
in addition to the items listed below. This provides a framework for
releasing the mplock, but for now it's still there.
Add an xpt_print function to reduce most of the xpt_print_path/printf
pairs. Convert the core code to use it.
Initial cut at Basic Domain Validation.
Make cam_xpt's pronouncements match camcontrol (Tagged -> Command) Queueing.
Pay attention to return value from xpt_bus_register in xpt_init.
Add an xpt_rescan function and a thread that will field rescan requests.
The purpose of this is to allow a SIM (or other entities) to request a bus
rescan and have it then fielded in a different (process) context from the
caller.
Check the return value from cam_periph_acquire.
Drop the periph/sim lock when calling disk_destroy().
Drop the topology lock before calling the periph oninvalidate and dtor
vectors.
For the XPT_SASYNC_CB operation, only decouple the broadcast to the bus
and device lists instead of decoupling the whole operation. This avoids
problems with SIMs going away.
Split the camisr into per-SIM done queues. This optimizes the locking a
little bit and allows for direct dispatch of the doneq from certain
contexts that would otherwise face recursive locking problems.
Zero the CCBs when mallocing them.
Only schedule the xpt_finishconfig_task once.
Eliminate the use of M_TEMP.
Add a helper function for registering async callbacks.
Release the bus reference that is acquired when doing a CAMIOCOMMAND ioctl.
Zero scsi_readcapacity allocations so we can really tell if there has
been data returned.
Remove duplicate includes and fix typos.
Add a bunch of definitions and structures to support newer drivers.
When probing a newly found device, don't automatically assume that the
device supports retrieving a serial number. Instead, first query the
list of VPD pages it does support, and only query the serial number if
it's supported, else silently move on. This eliminates a lot of noise
during verbose booting, and will likely eliminate the need for most
NOSERIAL quirks.
Reduce diffs from FreeBSD.
Obtained-from: FreeBSD
Revision Changes Path
1.40 +125 -122 src/sys/bus/cam/cam_periph.c
1.11 +19 -4 src/sys/bus/cam/cam_periph.h
1.12 +2 -2 src/sys/bus/cam/cam_queue.c
1.11 +71 -2 src/sys/bus/cam/cam_sim.c
1.7 +30 -2 src/sys/bus/cam/cam_sim.h
1.65 +927 -474 src/sys/bus/cam/cam_xpt.c
1.4 +10 -0 src/sys/bus/cam/cam_xpt.h
1.27 +1 -3 src/sys/bus/cam/scsi/scsi_all.c
1.14 +113 -1 src/sys/bus/cam/scsi/scsi_all.h
1.42 +304 -290 src/sys/bus/cam/scsi/scsi_cd.c
1.27 +62 -79 src/sys/bus/cam/scsi/scsi_ch.c
1.56 +131 -169 src/sys/bus/cam/scsi/scsi_da.c
1.28 +1 -1 src/sys/bus/cam/scsi/scsi_low.c
1.27 +41 -65 src/sys/bus/cam/scsi/scsi_pass.c
1.23 +29 -98 src/sys/bus/cam/scsi/scsi_pt.c
1.35 +106 -158 src/sys/bus/cam/scsi/scsi_sa.c
1.29 +40 -50 src/sys/bus/cam/scsi/scsi_ses.c
1.19 +13 -32 src/sys/bus/cam/scsi/scsi_targ_bh.c
1.19 +75 -37 src/sys/bus/cam/scsi/scsi_target.c
1.15 +1 -1 src/sys/dev/disk/advansys/advansys.c
1.19 +1 -1 src/sys/dev/disk/advansys/adwcam.c
1.20 +1 -1 src/sys/dev/disk/aha/aha.c
1.19 +1 -1 src/sys/dev/disk/ahb/ahb.c
1.14 +1 -1 src/sys/dev/disk/aic/aic.c
1.10 +1 -1 src/sys/dev/disk/aic7xxx/ahc_eisa.c
1.4 +1 -1 src/sys/dev/disk/aic7xxx/ahc_isa.c
1.15 +1 -1 src/sys/dev/disk/aic7xxx/ahc_pci.c
1.13 +1 -1 src/sys/dev/disk/aic7xxx/ahd_pci.c
1.31 +1 -1 src/sys/dev/disk/aic7xxx/aic79xx.c
1.27 +1 -1 src/sys/dev/disk/aic7xxx/aic79xx_osm.c
1.29 +3 -3 src/sys/dev/disk/aic7xxx/aic7xxx.c
1.23 +3 -2 src/sys/dev/disk/aic7xxx/aic7xxx_osm.c
1.6 +2 -2 src/sys/dev/disk/aic7xxx/aic_osm_lib.h
1.16 +2 -2 src/sys/dev/disk/amd/amd.c
1.15 +1 -1 src/sys/dev/disk/ata/atapi-cam.c
1.19 +1 -1 src/sys/dev/disk/buslogic/bt.c
1.21 +2 -2 src/sys/dev/disk/isp/isp_freebsd.c
1.11 +1 -1 src/sys/dev/disk/mpt/mpt_freebsd.c
1.10 +1 -1 src/sys/dev/disk/nata/atapi-cam.c
1.22 +1 -1 src/sys/dev/disk/ncr/ncr.c
1.28 +1 -0 src/sys/dev/disk/sbp/sbp.c
1.24 +1 -1 src/sys/dev/disk/sym/sym_hipd.c
1.18 +1 -0 src/sys/dev/disk/trm/trm.c
1.12 +1 -1 src/sys/dev/disk/vpo/vpo.c
1.10 +1 -1 src/sys/dev/raid/aac/aac_cam.c
1.11 +1 -0 src/sys/dev/raid/amr/amr_cam.c
1.35 +1 -1 src/sys/dev/raid/asr/asr.c
1.28 +1 -1 src/sys/dev/raid/ciss/ciss.c
1.18 +2 -1 src/sys/dev/raid/dpt/dpt_scsi.c
1.21 +2 -1 src/sys/dev/raid/iir/iir.c
1.21 +2 -0 src/sys/dev/raid/mly/mly.c
1.10 +1 -0 src/sys/dev/raid/twa/twa_cam.c
1.38 +1 -0 src/sys/dev/usbmisc/umass/umass.c
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/cam_periph.c.diff?r1=1.39&r2=1.40&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/cam_periph.h.diff?r1=1.10&r2=1.11&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/cam_queue.c.diff?r1=1.11&r2=1.12&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/cam_sim.c.diff?r1=1.10&r2=1.11&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/cam_sim.h.diff?r1=1.6&r2=1.7&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/cam_xpt.c.diff?r1=1.64&r2=1.65&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/cam_xpt.h.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/scsi/scsi_all.c.diff?r1=1.26&r2=1.27&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/scsi/scsi_all.h.diff?r1=1.13&r2=1.14&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/scsi/scsi_cd.c.diff?r1=1.41&r2=1.42&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/scsi/scsi_ch.c.diff?r1=1.26&r2=1.27&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/scsi/scsi_da.c.diff?r1=1.55&r2=1.56&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/scsi/scsi_low.c.diff?r1=1.27&r2=1.28&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/scsi/scsi_pass.c.diff?r1=1.26&r2=1.27&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/scsi/scsi_pt.c.diff?r1=1.22&r2=1.23&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/scsi/scsi_sa.c.diff?r1=1.34&r2=1.35&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/scsi/scsi_ses.c.diff?r1=1.28&r2=1.29&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/scsi/scsi_targ_bh.c.diff?r1=1.18&r2=1.19&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/scsi/scsi_target.c.diff?r1=1.18&r2=1.19&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/advansys/advansys.c.diff?r1=1.14&r2=1.15&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/advansys/adwcam.c.diff?r1=1.18&r2=1.19&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/aha/aha.c.diff?r1=1.19&r2=1.20&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/ahb/ahb.c.diff?r1=1.18&r2=1.19&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/aic/aic.c.diff?r1=1.13&r2=1.14&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/aic7xxx/ahc_eisa.c.diff?r1=1.9&r2=1.10&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/aic7xxx/ahc_isa.c.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/aic7xxx/ahc_pci.c.diff?r1=1.14&r2=1.15&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/aic7xxx/ahd_pci.c.diff?r1=1.12&r2=1.13&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/aic7xxx/aic79xx.c.diff?r1=1.30&r2=1.31&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/aic7xxx/aic79xx_osm.c.diff?r1=1.26&r2=1.27&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/aic7xxx/aic7xxx.c.diff?r1=1.28&r2=1.29&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/aic7xxx/aic7xxx_osm.c.diff?r1=1.22&r2=1.23&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/aic7xxx/aic_osm_lib.h.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/amd/amd.c.diff?r1=1.15&r2=1.16&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/ata/atapi-cam.c.diff?r1=1.14&r2=1.15&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/buslogic/bt.c.diff?r1=1.18&r2=1.19&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/isp/isp_freebsd.c.diff?r1=1.20&r2=1.21&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/mpt/mpt_freebsd.c.diff?r1=1.10&r2=1.11&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/nata/atapi-cam.c.diff?r1=1.9&r2=1.10&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/ncr/ncr.c.diff?r1=1.21&r2=1.22&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/sbp/sbp.c.diff?r1=1.27&r2=1.28&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/sym/sym_hipd.c.diff?r1=1.23&r2=1.24&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/trm/trm.c.diff?r1=1.17&r2=1.18&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/vpo/vpo.c.diff?r1=1.11&r2=1.12&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/aac/aac_cam.c.diff?r1=1.9&r2=1.10&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/amr/amr_cam.c.diff?r1=1.10&r2=1.11&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/asr/asr.c.diff?r1=1.34&r2=1.35&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/ciss/ciss.c.diff?r1=1.27&r2=1.28&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/dpt/dpt_scsi.c.diff?r1=1.17&r2=1.18&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/iir/iir.c.diff?r1=1.20&r2=1.21&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/mly/mly.c.diff?r1=1.20&r2=1.21&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/twa/twa_cam.c.diff?r1=1.9&r2=1.10&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/usbmisc/umass/umass.c.diff?r1=1.37&r2=1.38&f=u
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]