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