diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-04 18:15:15 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-04 18:15:15 -0400 |
commit | 03da30986793385af57eeca3296253c887b742e6 (patch) | |
tree | 9c46dbe51c9d0856990649dd917ab45474b7be87 /Documentation | |
parent | 6ba74014c1ab0e37af7de6f64b4eccbbae3cb9e7 (diff) | |
parent | 339f4f4eab80caa6cf0d39fb057ad6ddb84ba91e (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (276 commits)
[SCSI] zfcp: Trigger logging in the FCP channel on qdio error conditions
[SCSI] zfcp: Introduce experimental support for DIF/DIX
[SCSI] zfcp: Enable data division support for FCP devices
[SCSI] zfcp: Prevent access on uninitialized memory.
[SCSI] zfcp: Post events through FC transport class
[SCSI] zfcp: Cleanup QDIO attachment and improve processing.
[SCSI] zfcp: Cleanup function parameters for sbal value.
[SCSI] zfcp: Use correct width for timer_interval field
[SCSI] zfcp: Remove SCSI device when removing unit
[SCSI] zfcp: Use memdup_user and kstrdup
[SCSI] zfcp: Fix retry after failed "open port" erp action
[SCSI] zfcp: Fail erp after timeout
[SCSI] zfcp: Use forced_reopen in terminate_rport_io callback
[SCSI] zfcp: Register SCSI devices after successful fc_remote_port_add
[SCSI] zfcp: Do not try "forced close" when port is already closed
[SCSI] zfcp: Do not unblock rport from REOPEN_PORT_FORCED
[SCSI] sd: add support for runtime PM
[SCSI] implement runtime Power Management
[SCSI] convert to the new PM framework
[SCSI] Unify SAM_ and SAM_STAT_ macros
...
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/scsi/hpsa.txt | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/Documentation/scsi/hpsa.txt b/Documentation/scsi/hpsa.txt new file mode 100644 index 000000000000..dca658362cbf --- /dev/null +++ b/Documentation/scsi/hpsa.txt | |||
@@ -0,0 +1,107 @@ | |||
1 | |||
2 | HPSA - Hewlett Packard Smart Array driver | ||
3 | ----------------------------------------- | ||
4 | |||
5 | This file describes the hpsa SCSI driver for HP Smart Array controllers. | ||
6 | The hpsa driver is intended to supplant the cciss driver for newer | ||
7 | Smart Array controllers. The hpsa driver is a SCSI driver, while the | ||
8 | cciss driver is a "block" driver. Actually cciss is both a block | ||
9 | driver (for logical drives) AND a SCSI driver (for tape drives). This | ||
10 | "split-brained" design of the cciss driver is a source of excess | ||
11 | complexity and eliminating that complexity is one of the reasons | ||
12 | for hpsa to exist. | ||
13 | |||
14 | Supported devices: | ||
15 | ------------------ | ||
16 | |||
17 | Smart Array P212 | ||
18 | Smart Array P410 | ||
19 | Smart Array P410i | ||
20 | Smart Array P411 | ||
21 | Smart Array P812 | ||
22 | Smart Array P712m | ||
23 | Smart Array P711m | ||
24 | StorageWorks P1210m | ||
25 | |||
26 | Additionally, older Smart Arrays may work with the hpsa driver if the kernel | ||
27 | boot parameter "hpsa_allow_any=1" is specified, however these are not tested | ||
28 | nor supported by HP with this driver. For older Smart Arrays, the cciss | ||
29 | driver should still be used. | ||
30 | |||
31 | HPSA specific entries in /sys | ||
32 | ----------------------------- | ||
33 | |||
34 | In addition to the generic SCSI attributes available in /sys, hpsa supports | ||
35 | the following attributes: | ||
36 | |||
37 | HPSA specific host attributes: | ||
38 | ------------------------------ | ||
39 | |||
40 | /sys/class/scsi_host/host*/rescan | ||
41 | /sys/class/scsi_host/host*/firmware_revision | ||
42 | |||
43 | the host "rescan" attribute is a write only attribute. Writing to this | ||
44 | attribute will cause the driver to scan for new, changed, or removed devices | ||
45 | (e.g. hot-plugged tape drives, or newly configured or deleted logical drives, | ||
46 | etc.) and notify the SCSI midlayer of any changes detected. Normally this is | ||
47 | triggered automatically by HP's Array Configuration Utility (either the GUI or | ||
48 | command line variety) so for logical drive changes, the user should not | ||
49 | normally have to use this. It may be useful when hot plugging devices like | ||
50 | tape drives, or entire storage boxes containing pre-configured logical drives. | ||
51 | |||
52 | The "firmware_revision" attribute contains the firmware version of the Smart Array. | ||
53 | For example: | ||
54 | |||
55 | root@host:/sys/class/scsi_host/host4# cat firmware_revision | ||
56 | 7.14 | ||
57 | |||
58 | HPSA specific disk attributes: | ||
59 | ------------------------------ | ||
60 | |||
61 | /sys/class/scsi_disk/c:b:t:l/device/unique_id | ||
62 | /sys/class/scsi_disk/c:b:t:l/device/raid_level | ||
63 | /sys/class/scsi_disk/c:b:t:l/device/lunid | ||
64 | |||
65 | (where c:b:t:l are the controller, bus, target and lun of the device) | ||
66 | |||
67 | For example: | ||
68 | |||
69 | root@host:/sys/class/scsi_disk/4:0:0:0/device# cat unique_id | ||
70 | 600508B1001044395355323037570F77 | ||
71 | root@host:/sys/class/scsi_disk/4:0:0:0/device# cat lunid | ||
72 | 0x0000004000000000 | ||
73 | root@host:/sys/class/scsi_disk/4:0:0:0/device# cat raid_level | ||
74 | RAID 0 | ||
75 | |||
76 | HPSA specific ioctls: | ||
77 | --------------------- | ||
78 | |||
79 | For compatibility with applications written for the cciss driver, many, but | ||
80 | not all of the ioctls supported by the cciss driver are also supported by the | ||
81 | hpsa driver. The data structures used by these are described in | ||
82 | include/linux/cciss_ioctl.h | ||
83 | |||
84 | CCISS_DEREGDISK | ||
85 | CCISS_REGNEWDISK | ||
86 | CCISS_REGNEWD | ||
87 | |||
88 | The above three ioctls all do exactly the same thing, which is to cause the driver | ||
89 | to rescan for new devices. This does exactly the same thing as writing to the | ||
90 | hpsa specific host "rescan" attribute. | ||
91 | |||
92 | CCISS_GETPCIINFO | ||
93 | |||
94 | Returns PCI domain, bus, device and function and "board ID" (PCI subsystem ID). | ||
95 | |||
96 | CCISS_GETDRIVVER | ||
97 | |||
98 | Returns driver version in three bytes encoded as: | ||
99 | (major_version << 16) | (minor_version << 8) | (subminor_version) | ||
100 | |||
101 | CCISS_PASSTHRU | ||
102 | CCISS_BIG_PASSTHRU | ||
103 | |||
104 | Allows "BMIC" and "CISS" commands to be passed through to the Smart Array. | ||
105 | These are used extensively by the HP Array Configuration Utility, SNMP storage | ||
106 | agents, etc. See cciss_vol_status at http://cciss.sf.net for some examples. | ||
107 | |||