#
7a4a2d36 |
| 27-Aug-2011 |
Alexander Motin <mav@FreeBSD.org> |
Fix/Implement I/O errors handling: - make done() method called even after I/O errors to handle them, - pass error argument to done() method, - return error code to user-level.
|
#
0ccb1190 |
| 27-Aug-2011 |
Alexander Motin <mav@FreeBSD.org> |
Report proper zero length when no descriptor available for element.
|
#
c2d1f1ce |
| 25-Aug-2011 |
Alexander Motin <mav@FreeBSD.org> |
Reread SES enclosure status after writing it.
|
#
94802ffa |
| 25-Aug-2011 |
Alexander Motin <mav@FreeBSD.org> |
Remove some strange lock operations.
|
#
f845e1de |
| 24-Aug-2011 |
Alexander Motin <mav@FreeBSD.org> |
First part of SAF-TE driver refactoring to the new fsm-based model: - make configuration and status reading asynchronous.
|
#
fad0e9f2 |
| 20-Aug-2011 |
Alexander Motin <mav@FreeBSD.org> |
Fetch list of supported diagnostic pages for SES to find whether optional Additional Element Status page is supported. If it's not, do not try to query it.
|
#
f0bbee5f |
| 20-Aug-2011 |
Alexander Motin <mav@FreeBSD.org> |
Add support for SATA Enclosure Management Bridge (SEMB).
|
#
01acaa30 |
| 18-Jul-2011 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Revamp the CAM enclosure services driver, renaming it to "enc" from "ses" in the process. This updated driver uses an in-kernel daemon to track state changes and publishes physical path location inf
Revamp the CAM enclosure services driver, renaming it to "enc" from "ses" in the process. This updated driver uses an in-kernel daemon to track state changes and publishes physical path location information for disk elements into the CAM device database.
share/examples/ses/Makefile.inc: share/examples/ses/srcs/eltsub.c: share/examples/ses/srcs/sesd.c: share/examples/ses/srcs/getencstat.c: share/examples/ses/srcs/setobjstat.c: share/examples/ses/srcs/inienc.c: share/examples/ses/srcs/getobjstat.c: share/examples/ses/srcs/getnobj.c: share/examples/ses/srcs/getobjmap.c: share/examples/ses/srcs/setencstat.c: Update for changes in driver name and API. The ioctl interface is largely unchanged and could use additional refinement. It would be nice to be able to fetch the status of all elements in a single ioctl call and to have the ioctls that return variable length data allow you to query the necessary allocation size by passing in a zero length buffer.
sys/sparc64/conf/GENERIC: sys/ia64/conf/GENERIC: sys/mips/conf/OCTEON1: sys/pc98/conf/GENERIC: sys/i386/conf/GENERIC: sys/amd64/conf/GENERIC: ses -> enc
sys/conf/files: sys/modules/cam/Makefile: sys/cam/scsi/scsi_enc_internal.h sys/cam/scsi/scsi_enc_ses.c sys/cam/scsi/scsi_enc_safte.c sys/cam/scsi/scsi_ses.c sys/cam/scsi/scsi_enc.c Split the enc driver into a generic driver file and one file each for the SES and SAF-TE personalities.
sys/cam/scsi/scsi_ses.h: o Retain this header, but use it to only hold structures derived from the T10 SES spec. The driver interface can be found in scsi_enc.h. o Add definitions for most SES pages.
sys/cam/scsi/scsi_enc.c sys/cam/scsi/scsi_enc.h o Use a function vector table to allow interaction between the generic and protocol specific portions of this driver. o Provide a generic mechanism allowing personalities to define a finite state machine that is executed from a daemon thread context. o Track CAM device arrival events and pass these on to personalities that have registered an interest in them. These notifications are used to trigger physical path updates in the CAM EDT.
sys/cam/scsi/scsi_enc_safte.c: The SAF-TE personality. This module is largely untouched by this update. To achieve the same level of support as we have for SES, it will need to define an FSM and code to determine the physical paths of elements within the enclosure.
sys/cam/scsi/scsi_enc_ses.c: o Implement a state machine to fetch configuration, status, element descriptors, and additional element status. o Build a "element map" that indexes into the config and status data retrieved from a SES device. Use this to simplify our responses to ioctls. o Add support for using SAS domain/phy WWN data to determine the physical path (ence@<enc WWN>/type@<elm type>/slot@<slot #>) of an element. Stubs are in place for FC, but both FC and SPI will need additional work in order to be supported.
Sponsored by: Spectra Logic Corporation Submitted by: gibbs, will
show more ...
|