History log of /dragonfly/sys/bus/cam/scsi/scsi_sa.c (Results 1 – 25 of 49)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 857fcb57 14-Oct-2023 Matthew Dillon <dillon@apollo.backplane.com>

kernel - Disable various dev accesses for RESTRICTEDROOT environments

* Do not allow CAM (e.g. /dev/sg0 and so forth) to be accessed if
RESTRICTEDROOT is active. Note that RESTRICTEDROOT is autom

kernel - Disable various dev accesses for RESTRICTEDROOT environments

* Do not allow CAM (e.g. /dev/sg0 and so forth) to be accessed if
RESTRICTEDROOT is active. Note that RESTRICTEDROOT is automatically
set for jails.

* Restrict writes to /dev/random and /dev/urandom

* Also restrict evdev, kbd, syscons, pci, console, devctl

show more ...


Revision tags: v6.4.0, v6.4.0rc1, v6.5.0, v6.2.2, v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2, v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3, v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2
# fcf6efef 02-Mar-2019 Sascha Wildner <saw@online.de>

kernel: Remove numerous #include <sys/thread2.h>.

Most of them were added when we converted spl*() calls to
crit_enter()/crit_exit(), almost 14 years ago. We can now
remove a good chunk of them agai

kernel: Remove numerous #include <sys/thread2.h>.

Most of them were added when we converted spl*() calls to
crit_enter()/crit_exit(), almost 14 years ago. We can now
remove a good chunk of them again for where crit_*() are
no longer used.

I had to adjust some files that were relying on thread2.h
or headers that it includes coming in via other headers
that it was removed from.

show more ...


Revision tags: v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2, v5.2.1, v5.2.0, v5.3.0, v5.2.0rc
# a9f09b75 04-Feb-2018 Matthew Dillon <dillon@apollo.backplane.com>

kernel - Fix CAM peripheral error handling

* cam_periph.c was bcopy()ing the *ENTIRE* saved ccb back to the
original when working through certain error results. This completely
destroys linked

kernel - Fix CAM peripheral error handling

* cam_periph.c was bcopy()ing the *ENTIRE* saved ccb back to the
original when working through certain error results. This completely
destroys linked list entry fields.

* Refactor by hacking a restore_ccb() function which does not copy
over the link list entry fields or the callout structure.

* Fixes panics with CDs, particularly audio CDs, and can also fix
other panics.

Panics are related to situations where an AHCI error or errors occur
while multiple CCBs are queued.

* Also always initialize the state tracking field for various scsi
periphals to ensure that stale data does not result in improper
processing in scsi/*.c's *done() functions.

Reported-by: htse

show more ...


Revision tags: v5.0.2, v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1, v4.8.0, v4.6.2, v4.9.0, v4.8.0rc, v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0, v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc, v4.2.4, v4.3.1, v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc, v4.0.5, v4.0.4, v4.0.3, v4.0.2, v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0, v3.8.2, v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc, v3.6.2, v3.6.1, v3.6.0, v3.7.1, v3.6.0rc, v3.7.0, v3.4.3, v3.4.2, v3.4.0, v3.4.1, v3.4.0rc, v3.5.0, v3.2.2, v3.2.1, v3.2.0, v3.3.0, v3.0.3, v3.0.2, v3.0.1
# 4c69c8bc 23-Jan-2012 Sascha Wildner <saw@online.de>

kernel: Use bioq_takefirst() in a few more places.


Revision tags: v3.1.0, v3.0.0
# b370aff7 04-Dec-2011 Sascha Wildner <saw@online.de>

kernel: Use NELEM() in some more places.


# 86d7f5d3 26-Nov-2011 John Marino <draco@marino.st>

Initial import of binutils 2.22 on the new vendor branch

Future versions of binutils will also reside on this branch rather
than continuing to create new binutils branches for each new version.


# f13896f2 21-Nov-2011 Sascha Wildner <saw@online.de>

kernel/scsi: Use __unused instead of assigning to itself.


Revision tags: v2.12.0, v2.13.0, v2.10.1, v2.11.0, v2.10.0, v2.9.1, v2.8.2, v2.8.1, v2.8.0, v2.9.0, v2.6.3, v2.7.3, v2.6.2, v2.7.2, v2.7.1, v2.6.1, v2.7.0, v2.6.0
# 8a1bf2ad 18-Nov-2009 Alex Hornung <ahornung@gmail.com>

devfs - Remove old debug

* Remove old debug/warning messages about device removal:
"devfs: Please check that only the right *** devices were
removed!"
as they are not needed anymore.

Reported-B

devfs - Remove old debug

* Remove old debug/warning messages about device removal:
"devfs: Please check that only the right *** devices were
removed!"
as they are not needed anymore.

Reported-By: Sascha Wildner, Hasso Tepper

show more ...


Revision tags: v2.5.1, v2.4.1, v2.5.0, v2.4.0
# 3e82b46c 01-Aug-2009 Matthew Dillon <dillon@apollo.backplane.com>

DEVFS - remove dev_ops_add(), dev_ops_get(), and get_dev()


# cd29885a 01-Aug-2009 Matthew Dillon <dillon@apollo.backplane.com>

DEVFS - Bring in Alex's GSOC kernel adjustments.

This is a rollup commit bringing in Alex Hornung's GSOC adjustments
to the main kernel codebase for DEVFS.

Submitted-by: Alex Hornung <ahornung@gmai

DEVFS - Bring in Alex's GSOC kernel adjustments.

This is a rollup commit bringing in Alex Hornung's GSOC adjustments
to the main kernel codebase for DEVFS.

Submitted-by: Alex Hornung <ahornung@gmail.com>

show more ...


Revision tags: v2.3.2, v2.3.1, v2.2.1
# 2038fb68 06-Apr-2009 Sascha Wildner <saw@online.de>

Replace all casts of NULL to something with NULL.


Revision tags: v2.2.0, v2.3.0, v2.1.1, v2.0.1
# 2d19cdd3 18-Jul-2008 Matthew Dillon <dillon@dragonflybsd.org>

Fix multiple bugs in CAM related devices which go away unexpectedly. This
fixes numerous panics when pulling a USB mass media device in the midst of
heavy I/O.

* The SIM lock was being unlocked via

Fix multiple bugs in CAM related devices which go away unexpectedly. This
fixes numerous panics when pulling a USB mass media device in the midst of
heavy I/O.

* The SIM lock was being unlocked via the periph->sim path after periph
was unheld. periph can become free and blow up the unlock, so get
the sim into a local variable first, then release periph.

* The code which waits for CCB completion needs to be a while loop, not
an if. It worked anyway, but wasn't very robust.

* Add CAM_SIM_DEREGISTERED to flag when a sim is undergoing deregistration.

* Beef up cam_dead_sim so it works more like a real sim.

* Properly install &cam_dead_sim in the device and periph structures
related to a SCSI bus, when deregistering the bus.

* Disallow the addition of new devices when deregistering a bus.

* NULL out periph->softc when freeing it.

show more ...


# 1c8b7a9a 18-May-2008 Peter Avalos <pavalos@dragonflybsd.org>

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

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

show more ...


# d92d7552 02-Dec-2007 Peter Avalos <pavalos@dragonflybsd.org>

Sync quirk tables with FreeBSD.

Obtained-from: FreeBSD


# 35872d89 02-Dec-2007 Peter Avalos <pavalos@dragonflybsd.org>

Incorporate the O_NONBLOCK open semantics of Linux and Solaris.

Obtained-from: FreeBSD


# bc6e3c73 01-Dec-2007 Peter Avalos <pavalos@dragonflybsd.org>

Fine-grained malloc statistics - replace some M_DEVBUF with module-specific
types.

Obtained-from: FreeBSD


# 556a5c3b 29-Nov-2007 Peter Avalos <pavalos@dragonflybsd.org>

Make sure we look at the correct sub op codes when
deciding whether it's an operation we can perform
via the control device.

Obtained-from: FreeBSD


# df602c9d 29-Nov-2007 Peter Avalos <pavalos@dragonflybsd.org>

avoid use after free

Obtained-from: FreeBSD


# d53a8480 28-Nov-2007 Peter Avalos <pavalos@dragonflybsd.org>

Spelling fix in comment.

Obtained-from: FreeBSD


# f7dd4893 26-Nov-2007 Peter Avalos <pavalos@dragonflybsd.org>

Only set single initiator buffered mode if we've recorded in our softc
that we should set it.

Obtained-from: FreeBSD


# 41afe5bf 25-Nov-2007 Peter Avalos <pavalos@dragonflybsd.org>

Minor debug output changes.

Also, the previous fallthrough was not intentional, so move the code
around to perform correctly.

Obtained-from: FreeBSD


# 24aeb1a5 25-Nov-2007 Peter Avalos <pavalos@dragonflybsd.org>

Remove unused variables.
Remove break after return.
Add XXX comment where intent is unclear.

Obtained-from: FreeBSD


# 40da2a7f 25-Nov-2007 Peter Avalos <pavalos@dragonflybsd.org>

panic() shouldn't have a \n.

Obtained-from: FreeBSD


# b05e84c9 18-Nov-2007 Peter Avalos <pavalos@dragonflybsd.org>

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

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

show more ...


# f7507c39 17-Nov-2007 Peter Avalos <pavalos@dragonflybsd.org>

Don't use /dev/rXXX names.

Obtained-from: FreeBSD


12