diff options
author | Stephen M. Cameron <scameron@beardog.cce.hp.com> | 2010-05-27 16:14:29 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-07-27 13:01:16 -0400 |
commit | 992ebcf14f3cf029b8d0da4f479d752c19d8c726 (patch) | |
tree | 4f44ec1e8332f89159186b9a2a1d302977b20717 /Documentation | |
parent | 873f339fc53750c1e715f5e1d2dfdb9869b7ea3f (diff) |
[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>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/scsi/hpsa.txt | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/Documentation/scsi/hpsa.txt b/Documentation/scsi/hpsa.txt new file mode 100644 index 000000000000..4055657340a2 --- /dev/null +++ b/Documentation/scsi/hpsa.txt | |||
@@ -0,0 +1,100 @@ | |||
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 | |||
42 | the host "rescan" attribute is a write only attribute. Writing to this | ||
43 | attribute will cause the driver to scan for new, changed, or removed devices | ||
44 | (e.g. hot-plugged tape drives, or newly configured or deleted logical drives, | ||
45 | etc.) and notify the SCSI midlayer of any changes detected. Normally this is | ||
46 | triggered automatically by HP's Array Configuration Utility (either the GUI or | ||
47 | command line variety) so for logical drive changes, the user should not | ||
48 | normally have to use this. It may be useful when hot plugging devices like | ||
49 | tape drives, or entire storage boxes containing pre-configured logical drives. | ||
50 | |||
51 | HPSA specific disk attributes: | ||
52 | ------------------------------ | ||
53 | |||
54 | /sys/class/scsi_disk/c:b:t:l/device/unique_id | ||
55 | /sys/class/scsi_disk/c:b:t:l/device/raid_level | ||
56 | /sys/class/scsi_disk/c:b:t:l/device/lunid | ||
57 | |||
58 | (where c:b:t:l are the controller, bus, target and lun of the device) | ||
59 | |||
60 | For example: | ||
61 | |||
62 | root@host:/sys/class/scsi_disk/4:0:0:0/device# cat unique_id | ||
63 | 600508B1001044395355323037570F77 | ||
64 | root@host:/sys/class/scsi_disk/4:0:0:0/device# cat lunid | ||
65 | 0x0000004000000000 | ||
66 | root@host:/sys/class/scsi_disk/4:0:0:0/device# cat raid_level | ||
67 | RAID 0 | ||
68 | |||
69 | HPSA specific ioctls: | ||
70 | --------------------- | ||
71 | |||
72 | For compatibility with applications written for the cciss driver, many, but | ||
73 | not all of the ioctls supported by the cciss driver are also supported by the | ||
74 | hpsa driver. The data structures used by these are described in | ||
75 | include/linux/cciss_ioctl.h | ||
76 | |||
77 | CCISS_DEREGDISK | ||
78 | CCISS_REGNEWDISK | ||
79 | CCISS_REGNEWD | ||
80 | |||
81 | The above three ioctls all do exactly the same thing, which is to cause the driver | ||
82 | to rescan for new devices. This does exactly the same thing as writing to the | ||
83 | hpsa specific host "rescan" attribute. | ||
84 | |||
85 | CCISS_GETPCIINFO | ||
86 | |||
87 | Returns PCI domain, bus, device and function and "board ID" (PCI subsystem ID). | ||
88 | |||
89 | CCISS_GETDRIVVER | ||
90 | |||
91 | Returns driver version in three bytes encoded as: | ||
92 | (major_version << 16) | (minor_version << 8) | (subminor_version) | ||
93 | |||
94 | CCISS_PASSTHRU | ||
95 | CCISS_BIG_PASSTHRU | ||
96 | |||
97 | Allows "BMIC" and "CISS" commands to be passed through to the Smart Array. | ||
98 | These are used extensively by the HP Array Configuration Utility, SNMP storage | ||
99 | agents, etc. See cciss_vol_status at http://cciss.sf.net for some examples. | ||
100 | |||