About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / scsi / hpsa.txt




Custom Search

Based on kernel version 3.13. Page generated on 2014-01-20 22:04 EST.

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	The "hpsa_simple_mode=1" boot parameter may be used to prevent the driver from
32	putting the controller into "performant" mode.  The difference is that with simple
33	mode, each command completion requires an interrupt, while with "performant mode"
34	(the default, and ordinarily better performing) it is possible to have multiple
35	command completions indicated by a single interrupt.
36	
37	HPSA specific entries in /sys
38	-----------------------------
39	
40	  In addition to the generic SCSI attributes available in /sys, hpsa supports
41	  the following attributes:
42	
43	  HPSA specific host attributes:
44	  ------------------------------
45	
46	  /sys/class/scsi_host/host*/rescan
47	  /sys/class/scsi_host/host*/firmware_revision
48	  /sys/class/scsi_host/host*/resettable
49	  /sys/class/scsi_host/host*/transport_mode
50	
51	  the host "rescan" attribute is a write only attribute.  Writing to this
52	  attribute will cause the driver to scan for new, changed, or removed devices
53	  (e.g. hot-plugged tape drives, or newly configured or deleted logical drives,
54	  etc.) and notify the SCSI midlayer of any changes detected.  Normally this is
55	  triggered automatically by HP's Array Configuration Utility (either the GUI or
56	  command line variety) so for logical drive changes, the user should not
57	  normally have to use this.  It may be useful when hot plugging devices like
58	  tape drives, or entire storage boxes containing pre-configured logical drives.
59	
60	  The "firmware_revision" attribute contains the firmware version of the Smart Array.
61	  For example:
62	
63		root@host:/sys/class/scsi_host/host4# cat firmware_revision
64		7.14
65	
66	  The transport_mode indicates whether the controller is in "performant"
67	  or "simple" mode.  This is controlled by the "hpsa_simple_mode" module
68	  parameter.
69	
70	  The "resettable" read-only attribute indicates whether a particular
71	  controller is able to honor the "reset_devices" kernel parameter.  If the
72	  device is resettable, this file will contain a "1", otherwise, a "0".  This
73	  parameter is used by kdump, for example, to reset the controller at driver
74	  load time to eliminate any outstanding commands on the controller and get the
75	  controller into a known state so that the kdump initiated i/o will work right
76	  and not be disrupted in any way by stale commands or other stale state
77	  remaining on the controller from the previous kernel.  This attribute enables
78	  kexec tools to warn the user if they attempt to designate a device which is
79	  unable to honor the reset_devices kernel parameter as a dump device.
80	
81	  HPSA specific disk attributes:
82	  ------------------------------
83	
84	  /sys/class/scsi_disk/c:b:t:l/device/unique_id
85	  /sys/class/scsi_disk/c:b:t:l/device/raid_level
86	  /sys/class/scsi_disk/c:b:t:l/device/lunid
87	
88	  (where c:b:t:l are the controller, bus, target and lun of the device)
89	
90	  For example:
91	
92		root@host:/sys/class/scsi_disk/4:0:0:0/device# cat unique_id
93		600508B1001044395355323037570F77
94		root@host:/sys/class/scsi_disk/4:0:0:0/device# cat lunid
95		0x0000004000000000
96		root@host:/sys/class/scsi_disk/4:0:0:0/device# cat raid_level
97		RAID 0
98	
99	HPSA specific ioctls:
100	---------------------
101	
102	  For compatibility with applications written for the cciss driver, many, but
103	  not all of the ioctls supported by the cciss driver are also supported by the
104	  hpsa driver.  The data structures used by these are described in
105	  include/linux/cciss_ioctl.h
106	
107	  CCISS_DEREGDISK
108	  CCISS_REGNEWDISK
109	  CCISS_REGNEWD
110	
111	  The above three ioctls all do exactly the same thing, which is to cause the driver
112	  to rescan for new devices.  This does exactly the same thing as writing to the
113	  hpsa specific host "rescan" attribute.
114	
115	  CCISS_GETPCIINFO
116	
117		Returns PCI domain, bus, device and function and "board ID" (PCI subsystem ID).
118	
119	  CCISS_GETDRIVVER
120	
121		Returns driver version in three bytes encoded as:
122			(major_version << 16) | (minor_version << 8) | (subminor_version)
123	
124	  CCISS_PASSTHRU
125	  CCISS_BIG_PASSTHRU
126	
127		Allows "BMIC" and "CISS" commands to be passed through to the Smart Array.
128		These are used extensively by the HP Array Configuration Utility, SNMP storage
129		agents, etc.  See cciss_vol_status at http://cciss.sf.net for some examples.
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.