]> git.ipfire.org Git - thirdparty/man-pages.git/blame - man4/cciss.4
Changes: Ready for 4.08
[thirdparty/man-pages.git] / man4 / cciss.4
CommitLineData
d3ea2cc7
MK
1.\" Copyright (C) 2011, Hewlett-Packard Development Company, L.P.
2.\" Written by Stephen M. Cameron <scameron@beardog.cce.hp.com>
2297bf0e 3.\"
c4a99c30 4.\" %%%LICENSE_START(GPLv2_ONELINE)
d3ea2cc7 5.\" Licensed under GNU General Public License version 2 (GPLv2)
8ff7380d 6.\" %%%LICENSE_END
536fabdf 7.\"
dc91c006
SC
8.\" shorthand for double quote that works everywhere.
9.ds q \N'34'
608bf950 10.TH CCISS 4 2012-08-05 "Linux" "Linux Programmer's Manual"
dc91c006
SC
11.SH NAME
12cciss \- HP Smart Array block driver
13.SH SYNOPSIS
14.nf
15modprobe cciss [ cciss_allow_hpsa=1 ]
16.fi
17.SH DESCRIPTION
18.B cciss
19is a block driver for older HP Smart Array RAID controllers.
3357b1ec
MK
20.SS Options
21.IR "cciss_allow_hpsa=1" :
536fabdf
MK
22This option prevents the
23.B cciss
4fa0ef7e 24driver from attempting to drive any controllers that the
536fabdf
MK
25.BR hpsa (4)
26driver is capable of controlling, which is to say, the
27.B cciss
28driver is restricted by this option to the following controllers:
dc91c006
SC
29.nf
30
3357b1ec
MK
31 Smart Array 5300
32 Smart Array 5i
33 Smart Array 532
34 Smart Array 5312
35 Smart Array 641
36 Smart Array 642
37 Smart Array 6400
38 Smart Array 6400 EM
39 Smart Array 6i
40 Smart Array P600
41 Smart Array P400i
42 Smart Array E200i
43 Smart Array E200
44 Smart Array E200i
45 Smart Array E200i
46 Smart Array E200i
47 Smart Array E500
dc91c006 48.fi
c634028a 49.SS Supported hardware
dc91c006
SC
50The
51.B cciss
52driver supports the following Smart Array boards:
53.nf
54
3357b1ec
MK
55 Smart Array 5300
56 Smart Array 5i
57 Smart Array 532
58 Smart Array 5312
59 Smart Array 641
60 Smart Array 642
61 Smart Array 6400
62 Smart Array 6400 U320 Expansion Module
63 Smart Array 6i
64 Smart Array P600
65 Smart Array P800
66 Smart Array E400
67 Smart Array P400i
68 Smart Array E200
69 Smart Array E200i
70 Smart Array E500
71 Smart Array P700m
72 Smart Array P212
73 Smart Array P410
74 Smart Array P410i
75 Smart Array P411
76 Smart Array P812
77 Smart Array P712m
78 Smart Array P711m
dc91c006 79.fi
c634028a 80.SS Configuration details
3357b1ec
MK
81To configure HP Smart Array controllers,
82use the HP Array Configuration Utility
536fabdf
MK
83(either
84.BR hpacuxe (8)
85or
86.BR hpacucli (8))
87or the Offline ROM-based Configuration Utility (ORCA)
dc91c006
SC
88run from the Smart Array's option ROM at boot time.
89.SH FILES
c634028a 90.SS Device nodes
dc91c006
SC
91The device naming scheme is as follows:
92.nf
3357b1ec 93
dc91c006 94Major numbers:
3357b1ec
MK
95
96 104 cciss0
97 105 cciss1
98 106 cciss2
99 105 cciss3
100 108 cciss4
101 109 cciss5
102 110 cciss6
103 111 cciss7
dc91c006
SC
104
105Minor numbers:
3357b1ec
MK
106
107 b7 b6 b5 b4 b3 b2 b1 b0
108 |----+----| |----+----|
109 | |
110 | +-------- Partition ID (0=wholedev, 1-15 partition)
111 |
112 +-------------------- Logical Volume number
dc91c006
SC
113
114The device naming scheme is:
dc91c006 115
3357b1ec
MK
116 /dev/cciss/c0d0 Controller 0, disk 0, whole device
117 /dev/cciss/c0d0p1 Controller 0, disk 0, partition 1
118 /dev/cciss/c0d0p2 Controller 0, disk 0, partition 2
119 /dev/cciss/c0d0p3 Controller 0, disk 0, partition 3
120
121 /dev/cciss/c1d1 Controller 1, disk 1, whole device
122 /dev/cciss/c1d1p1 Controller 1, disk 1, partition 1
123 /dev/cciss/c1d1p2 Controller 1, disk 1, partition 2
124 /dev/cciss/c1d1p3 Controller 1, disk 1, partition 3
dc91c006 125.fi
3357b1ec 126.SS Files in /proc
536fabdf 127The files
3357b1ec
MK
128.I /proc/driver/cciss/cciss[0-9]+
129contain information about
130the configuration of each controller.
131For example:
dc91c006
SC
132.nf
133
6c030e71
MK
134 $ \fBcd /proc/driver/cciss\fP
135 $ \fBls -l\fP
3357b1ec
MK
136 total 0
137 -rw-r--r-- 1 root root 0 2010-09-10 10:38 cciss0
138 -rw-r--r-- 1 root root 0 2010-09-10 10:38 cciss1
139 -rw-r--r-- 1 root root 0 2010-09-10 10:38 cciss2
6c030e71 140 $ \fBcat cciss2\fP
3357b1ec
MK
141 cciss2: HP Smart Array P800 Controller
142 Board ID: 0x3223103c
143 Firmware Version: 7.14
144 IRQ: 16
145 Logical drives: 1
146 Current Q depth: 0
147 Current # commands on controller: 0
148 Max Q depth since init: 1
149 Max # commands on controller since init: 2
150 Max SG entries since init: 32
151 Sequential access devices: 0
152
153 cciss/c2d0: 36.38GB RAID 0
dc91c006 154.fi
3357b1ec 155.SS Files in /sys
3357b1ec
MK
156.TP
157.I /sys/bus/pci/devices/<dev>/ccissX/cXdY/model
536fabdf
MK
158Displays the SCSI INQUIRY page 0 model for logical drive
159.I Y
160of controller
161.IR X .
3357b1ec
MK
162.TP
163.I /sys/bus/pci/devices/<dev>/ccissX/cXdY/rev
536fabdf
MK
164Displays the SCSI INQUIRY page 0 revision for logical drive
165.I Y
166of controller
167.IR X .
3357b1ec
MK
168.TP
169.I /sys/bus/pci/devices/<dev>/ccissX/cXdY/unique_id
536fabdf
MK
170Displays the SCSI INQUIRY page 83 serial number for logical drive
171.I Y
172of controller
173.IR X .
3357b1ec
MK
174.TP
175.I /sys/bus/pci/devices/<dev>/ccissX/cXdY/vendor
536fabdf
MK
176Displays the SCSI INQUIRY page 0 vendor for logical drive
177.I Y
178of controller
179.IR X .
3357b1ec
MK
180.TP
181.I /sys/bus/pci/devices/<dev>/ccissX/cXdY/block:cciss!cXdY
536fabdf
MK
182A symbolic link to
183.IR /sys/block/cciss!cXdY .
3357b1ec
MK
184.TP
185.I /sys/bus/pci/devices/<dev>/ccissX/rescan
c98253f8 186When this file is written to, the driver rescans the controller
4fa0ef7e 187to discover any new, removed, or modified logical drives.
3357b1ec
MK
188.TP
189.I /sys/bus/pci/devices/<dev>/ccissX/resettable
536fabdf
MK
190A value of 1 displayed in this file indicates that
191the "reset_devices=1" kernel parameter (used by
192.BR kdump )
193is honored by this controller.
194A value of 0 indicates that the
3357b1ec
MK
195"reset_devices=1" kernel parameter will not be honored.
196Some models of Smart Array are not able to honor this parameter.
197.TP
198.I /sys/bus/pci/devices/<dev>/ccissX/cXdY/lunid
536fabdf
MK
199Displays the 8-byte LUN ID used to address logical drive
200.I Y
201of controller
202.IR X .
3357b1ec
MK
203.TP
204.I /sys/bus/pci/devices/<dev>/ccissX/cXdY/raid_level
536fabdf
MK
205Displays the RAID level of logical drive
206.I Y
207of controller
208.IR X .
3357b1ec
MK
209.TP
210.I /sys/bus/pci/devices/<dev>/ccissX/cXdY/usage_count
536fabdf
MK
211Displays the usage count (number of opens) of logical drive
212.I Y
213of controller
214.IR X .
3357b1ec 215.SS SCSI tape drive and medium changer support
dc91c006 216SCSI sequential access devices and medium changer devices are supported and
536fabdf 217appropriate device nodes are automatically created (e.g.,
3357b1ec 218.IR /dev/st0 ,
536fabdf
MK
219.IR /dev/st1 ,
220etc.; see
3357b1ec
MK
221.BR st (4)
222for more details.)
dc91c006
SC
223You must enable "SCSI tape drive support for Smart Array 5xxx" and
224"SCSI support" in your kernel configuration to be able to use SCSI
225tape drives with your Smart Array 5xxx controller.
226
536fabdf
MK
227Additionally, note that the driver will not engage the SCSI core at
228init time.
282c1a35
MK
229The driver must be directed to dynamically engage the SCSI core via the
230.I /proc
231filesystem entry,
4fa0ef7e 232which the "block" side of the driver creates as
536fabdf 233.I /proc/driver/cciss/cciss*
72c90260 234at run time.
3357b1ec 235This is because at driver init time,
dc91c006
SC
236the SCSI core may not yet be initialized (because the driver is a block
237driver) and attempting to register it with the SCSI core in such a case
3357b1ec
MK
238would cause a hang.
239This is best done via an initialization script
240(typically in
241.IR /etc/init.d ,
242but could vary depending on distribution).
dc91c006
SC
243For example:
244.nf
245
3357b1ec
MK
246 for x in /proc/driver/cciss/cciss[0-9]*
247 do
248 echo "engage scsi" > $x
249 done
dc91c006
SC
250
251.fi
252Once the SCSI core is engaged by the driver, it cannot be disengaged
253(except by unloading the driver, if it happens to be linked as a module.)
254
255Note also that if no sequential access devices or medium changers are
256detected, the SCSI core will not be engaged by the action of the above
257script.
dc91c006 258.SS Hot plug support for SCSI tape drives
dc91c006 259Hot plugging of SCSI tape drives is supported, with some caveats.
536fabdf
MK
260The
261.B cciss
262driver must be informed that changes to the SCSI bus
3357b1ec 263have been made.
282c1a35
MK
264This may be done via the
265.I /proc
266filesystem.
dc91c006
SC
267For example:
268
3357b1ec 269 echo "rescan" > /proc/scsi/cciss0/1
dc91c006 270
536fabdf
MK
271This causes the driver to:
272.RS
273.IP 1. 3
274query the adapter about changes to the
275physical SCSI buses and/or fibre channel arbitrated loop, and
276.IP 2.
277make note of any new or removed sequential access devices
3357b1ec 278or medium changers.
536fabdf
MK
279.RE
280.LP
281The driver will output messages indicating which
a797afac 282devices have been added or removed and the controller, bus, target, and
536fabdf
MK
283lun used to address each device.
284The driver then notifies the SCSI midlayer
dc91c006
SC
285of these changes.
286
282c1a35
MK
287Note that the naming convention of the
288.I /proc
289filesystem entries
3357b1ec
MK
290contains a number in addition to the driver name
291(e.g., "cciss0"
536fabdf 292instead of just "cciss", which you might expect).
3357b1ec 293
536fabdf 294Note:
3357b1ec
MK
295.I Only
296sequential access devices and medium changers are presented
536fabdf
MK
297as SCSI devices to the SCSI midlayer by the
298.B cciss
299driver.
3357b1ec
MK
300Specifically, physical SCSI disk drives are
301.I not
4fa0ef7e
MK
302presented to the SCSI midlayer.
303The only disk devices that are presented to the kernel are logical
304drives that the array controller constructs from regions on
305the physical drives.
306The logical drives are presented to the block layer
307(not to the SCSI midlayer).
308It is important for the driver to prevent the kernel from accessing the
ddc30fd2 309physical drives directly, since these drives are used by the array
4fa0ef7e 310controller to construct the logical drives.
dc91c006 311.SS SCSI error handling for tape drives and medium changers
4fa0ef7e 312The Linux SCSI midlayer provides an error-handling protocol that
536fabdf 313is initiated whenever a SCSI command fails to complete within a
dc91c006 314certain amount of time (which can vary depending on the command).
536fabdf
MK
315The
316.B cciss
317driver participates in this protocol to some extent.
318The normal protocol is a four-step process:
319.IP * 3
320First, the device is told to abort the command.
321.IP *
3357b1ec 322If that doesn't work, the device is reset.
536fabdf 323.IP *
3357b1ec 324If that doesn't work, the SCSI bus is reset.
536fabdf 325.IP *
661d0f7c 326If that doesn't work, the host bus adapter is reset.
536fabdf 327.LP
536fabdf
MK
328The
329.B cciss
330driver is a block
dc91c006 331driver as well as a SCSI driver and only the tape drives and medium
9cbbcfc0 332changers are presented to the SCSI midlayer.
536fabdf
MK
333Furthermore, unlike more
334straightforward SCSI drivers, disk I/O continues through the block
9cbbcfc0 335side during the SCSI error-recovery process.
536fabdf
MK
336Therefore, the
337.B cciss
338driver implements only the first two of these actions,
339aborting the command, and resetting the device.
340Note also that most tape drives will not oblige
dc91c006 341in aborting commands, and sometimes it appears they will not even
3357b1ec 342obey a reset command, though in most circumstances they will.
536fabdf 343If the command cannot be aborted and the device cannot be
dc91c006
SC
344reset, the device will be set offline.
345
536fabdf 346In the event that the error-handling code is triggered and a tape drive is
dc91c006 347successfully reset or the tardy command is successfully aborted, the
536fabdf 348tape drive may still not allow I/O to continue until some command
4fa0ef7e 349is issued that positions the tape to a known position.
3357b1ec
MK
350Typically you must rewind the tape (by issuing
351.I "mt -f /dev/st0 rewind"
4fa0ef7e 352for example) before I/O can proceed again to a tape drive that was reset.
47297adb 353.SH SEE ALSO
3357b1ec 354.BR hpsa (4),
d830b8be 355.BR cciss_vol_status (8),
3357b1ec 356.BR hpacucli (8),
a46e3ad2 357.BR hpacuxe (8)
173fe7e7 358
608bf950
SK
359.UR http://cciss.sf.net
360.UE ,
173fe7e7 361and
3357b1ec
MK
362.I Documentation/blockdev/cciss.txt
363and
364.I Documentation/ABI/testing/sysfs-bus-pci-devices-cciss
173fe7e7 365in the Linux kernel source tree
6ad2da24
MK
366.\" .SH AUTHORS
367.\" Don Brace, Steve Cameron, Chase Maupin, Mike Miller, Michael Ni,
368.\" Charles White, Francis Wiran
369.\" and probably some other people.