-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[SCSI] hpsa: Add hpsa.txt to Documentation/scsi
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
- Loading branch information
Stephen M. Cameron
authored and
James Bottomley
committed
Jul 27, 2010
1 parent
873f339
commit 992ebcf
Showing
1 changed file
with
100 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
|
||
HPSA - Hewlett Packard Smart Array driver | ||
----------------------------------------- | ||
|
||
This file describes the hpsa SCSI driver for HP Smart Array controllers. | ||
The hpsa driver is intended to supplant the cciss driver for newer | ||
Smart Array controllers. The hpsa driver is a SCSI driver, while the | ||
cciss driver is a "block" driver. Actually cciss is both a block | ||
driver (for logical drives) AND a SCSI driver (for tape drives). This | ||
"split-brained" design of the cciss driver is a source of excess | ||
complexity and eliminating that complexity is one of the reasons | ||
for hpsa to exist. | ||
|
||
Supported devices: | ||
------------------ | ||
|
||
Smart Array P212 | ||
Smart Array P410 | ||
Smart Array P410i | ||
Smart Array P411 | ||
Smart Array P812 | ||
Smart Array P712m | ||
Smart Array P711m | ||
StorageWorks P1210m | ||
|
||
Additionally, older Smart Arrays may work with the hpsa driver if the kernel | ||
boot parameter "hpsa_allow_any=1" is specified, however these are not tested | ||
nor supported by HP with this driver. For older Smart Arrays, the cciss | ||
driver should still be used. | ||
|
||
HPSA specific entries in /sys | ||
----------------------------- | ||
|
||
In addition to the generic SCSI attributes available in /sys, hpsa supports | ||
the following attributes: | ||
|
||
HPSA specific host attributes: | ||
------------------------------ | ||
|
||
/sys/class/scsi_host/host*/rescan | ||
|
||
the host "rescan" attribute is a write only attribute. Writing to this | ||
attribute will cause the driver to scan for new, changed, or removed devices | ||
(e.g. hot-plugged tape drives, or newly configured or deleted logical drives, | ||
etc.) and notify the SCSI midlayer of any changes detected. Normally this is | ||
triggered automatically by HP's Array Configuration Utility (either the GUI or | ||
command line variety) so for logical drive changes, the user should not | ||
normally have to use this. It may be useful when hot plugging devices like | ||
tape drives, or entire storage boxes containing pre-configured logical drives. | ||
|
||
HPSA specific disk attributes: | ||
------------------------------ | ||
|
||
/sys/class/scsi_disk/c:b:t:l/device/unique_id | ||
/sys/class/scsi_disk/c:b:t:l/device/raid_level | ||
/sys/class/scsi_disk/c:b:t:l/device/lunid | ||
|
||
(where c:b:t:l are the controller, bus, target and lun of the device) | ||
|
||
For example: | ||
|
||
root@host:/sys/class/scsi_disk/4:0:0:0/device# cat unique_id | ||
600508B1001044395355323037570F77 | ||
root@host:/sys/class/scsi_disk/4:0:0:0/device# cat lunid | ||
0x0000004000000000 | ||
root@host:/sys/class/scsi_disk/4:0:0:0/device# cat raid_level | ||
RAID 0 | ||
|
||
HPSA specific ioctls: | ||
--------------------- | ||
|
||
For compatibility with applications written for the cciss driver, many, but | ||
not all of the ioctls supported by the cciss driver are also supported by the | ||
hpsa driver. The data structures used by these are described in | ||
include/linux/cciss_ioctl.h | ||
|
||
CCISS_DEREGDISK | ||
CCISS_REGNEWDISK | ||
CCISS_REGNEWD | ||
|
||
The above three ioctls all do exactly the same thing, which is to cause the driver | ||
to rescan for new devices. This does exactly the same thing as writing to the | ||
hpsa specific host "rescan" attribute. | ||
|
||
CCISS_GETPCIINFO | ||
|
||
Returns PCI domain, bus, device and function and "board ID" (PCI subsystem ID). | ||
|
||
CCISS_GETDRIVVER | ||
|
||
Returns driver version in three bytes encoded as: | ||
(major_version << 16) | (minor_version << 8) | (subminor_version) | ||
|
||
CCISS_PASSTHRU | ||
CCISS_BIG_PASSTHRU | ||
|
||
Allows "BMIC" and "CISS" commands to be passed through to the Smart Array. | ||
These are used extensively by the HP Array Configuration Utility, SNMP storage | ||
agents, etc. See cciss_vol_status at http://cciss.sf.net for some examples. | ||
|