| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
MSA500. This is useful if you need to reset one of the storage
arrays on reboot.
|
|
|
|
| |
Noticed by: Coverity Prevent analysis tool
|
| |
|
|
|
|
|
|
| |
- Protect against negative values as array indexes.
Submitted by: Coverity Prevent analysis tool
|
|
|
|
| |
Submitted by: John Cagle
|
| |
|
| |
|
|
|
|
| |
GCC 3.4.2 issues warning about that.
|
| |
|
| |
|
|
|
|
| |
fixes a panic on cards which do not have any drives attached.
|
|
|
|
| |
in a failed stated to come back on-line without a reboot.
|
|
|
|
| |
notify events are handled in a kthread.
|
|
|
|
|
|
|
|
|
|
|
| |
that are on a CISS bus to be exported up to CAM and made available as normal
devices. This will typically add one or two buses to CAM, which will be
numbered starting at 32 to allow room for CISS proxy buses. Also, the CISS
firmware usually hides disk devices, but these can also be exposed as 'pass'
devices if you set the hw.ciss.expose_hidden_physical tunable.
Sponsored by: Tape Laboratories, Inc.
MFC After: 3 days
|
|
|
|
| |
Bump __FreeBSD_version accordingly.
|
|
|
|
|
|
|
| |
or I/O to the volume. This solves a panic when removing a disk in
a RAID 0 volume.
Reported by: le
|
|
|
|
| |
Pad the struct to 1024 bytes as defined in the firmware spec.
|
|
|
|
|
|
| |
add a whole bunch of pci id's for future controllers.
Submitted by: John Cagle <first.last@hp.com>
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
controllers and allows the controller to prefetch 1-2k on certain
PCI memory reads to the host. The spec says this should only be
used for IA32 based systems.
Informed of feature by: John Cagle <first.last@hp.com>
|
| |
|
|
|
|
| |
structure to 512 bytes.
|
|
|
|
|
|
| |
routine since the error will be reported back to the user buffer.
This will quiet down the bootverbose case when using an ACU which
does brute force discovery of the physical and logical devices.
|
| |
|
|
|
|
|
| |
ifdefs for the diffrent kthread_create API between -current and
-stable
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Logical volumes on these devices show up as LUNs behind another
controller (also known as proxy controller). In order to issue
firmware commands for a volume on a proxy controller, they must be
targeted at the address of the proxy controller it is attached to,
not the Host/PCI controller.
A proxy controller is defined as a device listed in the INQUIRY
PHYSICAL LUNS command who's L2 and L3 SCSI addresses are zero. The
corresponding address returned defines which "bus" the controller
lives on and we use this to create a virtual CAM bus.
A logical volume's addresses first byte defines the logical drive
number. The second byte defines the bus that it is attached to
which corresponds to the BUS of the proxy controller's found or the
Host/PCI controller.
Change event notification to be handled in its own kernel thread.
This is needed since some events may require the driver to sleep
on some operations and this cannot be done during interrupt context.
With this change, it is now possible to create and destroy logical
volumes from FreeBSD, but it requires a native application to
construct the proper firmware commands which is not publicly
available.
Special thanks to John Cagle @ HP for providing remote access to
all the hardware and beating on the storage engineers at HP to
answer my questions.
|
| |
|
| |
|
|
|
|
| |
race when issuing commands from userland.
|
|
|
|
|
| |
Submitted by: Mark Santcroos <marks@ripe.net>
Reviewed by: imp, dfr, bde
|
|
|
|
|
|
|
|
| |
Introduce d_version field in struct cdevsw, this must always be
initialized to D_VERSION.
Flip sense of D_NOGIANT flag to D_NEEDGIANT, this involves removing
four D_NOGIANT flags and adding 145 D_NEEDGIANT flags.
|
|
|
|
|
|
|
| |
Free approx 86 major numbers with a mostly automatically generated patch.
A number of strategic drivers have been left behind by caution, and a few
because they still (ab)use their major number.
|
|
|
|
| |
Reported by: Stanford Metacompilation research group
|
| |
|
|
|
|
| |
Submitted by: John Cagle <john.cagle@hp.com>
|
| |
|
|
|
|
| |
Submitted by: John Cagle <john.cagle@hp.com>
|
| |
|
|
|
|
|
| |
which does not have a volume attached. This will stop cam from retrying
a bunch of time at boot for devices which do not exsist.
|
|
|
|
|
| |
tree for two or more years now), except in a few places where there's
code to be compatible with older versions of FreeBSD.
|
| |
|
|
|
|
| |
to the user.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add two new arguments to bus_dma_tag_create(): lockfunc and lockfuncarg.
Lockfunc allows a driver to provide a function for managing its locking
semantics while using busdma. At the moment, this is used for the
asynchronous busdma_swi and callback mechanism. Two lockfunc implementations
are provided: busdma_lock_mutex() performs standard mutex operations on the
mutex that is specified from lockfuncarg. dftl_lock() is a panic
implementation and is defaulted to when NULL, NULL are passed to
bus_dma_tag_create(). The only time that NULL, NULL should ever be used is
when the driver ensures that bus_dmamap_load() will not be deferred.
Drivers that do not provide their own locking can pass
busdma_lock_mutex,&Giant args in order to preserve the former behaviour.
sparc64 and powerpc do not provide real busdma_swi functions, so this is
largely a noop on those platforms. The busdma_swi on is64 is not properly
locked yet, so warnings will be emitted on this platform when busdma
callback deferrals happen.
If anyone gets panics or warnings from dflt_lock() being called, please
let me know right away.
Reviewed by: tmm, gibbs
|
| |
|
|
|
|
|
|
| |
Don't return(foo(...)) in function returning void.
Found by: FlexeLint
|
|
|
|
| |
Approved by: re (scottl)
|
|
|
|
|
| |
Change the interrupt mask for the Smart Array 6xxx controllers after
discussions w/ HP.
|